多语言展示
当前在线:1139今日阅读:84今日分享:32

Mathematica基础——RegionPlot的用法(3)选项

上一篇文章里,我们介绍了RegionPlot的两个选项(AspectRatio、Boundary--Style)。        本文,要再介绍另外两个选项:ColorFunction、ColorFunctionScaling。
工具/原料
1

电脑

2

Mathematica

ColorFunction——色彩的功能
1

分别用x和y的值来控制区域的颜色:RegionPlot[Sin[x^2] Sin[y^2] > 1/10, {x, -5, 5}, {y, -5, 5},   ColorFunction -> Function[{x, y}, Hue[x]]]        和 RegionPlot[Sin[x^2] Sin[y^2] > 1/10, {x, -5, 5}, {y, -5, 5},   ColorFunction -> Function[{x, y}, Hue[y]]]

2

给区域涂上“彩虹”色(Rainbow):RegionPlot[Sin[x] Sin[x y] > 1/10, {x, -5, 5}, {y, -5, 5},  ColorFunction -> 'Rainbow']

3

换成“绿色粉红色调”:RegionPlot[Sin[x] Sin[x y] > 1/10, {x, -5, 5}, {y, -5, 5},  ColorFunction -> 'GreenPinkTones']

4

像'GreenPinkTones'、'Rainbow'这样现成的染色方案还有许多,如下图所示。

5

如果ColorFunction 和 PlotStyle都“限制”区域的颜色,就以ColorFunction 为优先!RegionPlot[Sin[x y] Sin[x^2 + y^2] > 1/10, {x, -5, 5}, {y, -5, 5},  ColorFunction -> 'BrightBands',  PlotStyle -> Directive[Opacity[0.5], Red]]

6

不过MeshShading的优先级要高于ColorFunction:RegionPlot[Sin[2 x] Sin[3 y] > 1/20, {x, -5, 5}, {y, -5, 5},  Mesh -> 30, MeshShading -> {{Green, Automatic}, {Automatic, Red}},  ColorFunction -> 'NeonColors']

ColorFunctionScaling——色彩功能比例
1

ColorFunctionScaling的作用是,指定供给一个颜色函数的自变量,看是否应当将尺度按比例缩放到 0 和 1 之间。        当ColorFunctionScaling->False时:RegionPlot[Sin[x y] Sin[x + y] > 1/10, {x, -5, 5}, {y, -5, 5},  ColorFunction ->   Function[{x, y}, ColorData['SolarColors'][Sin[x] Sin[y]]],  ColorFunctionScaling -> False]

2

当ColorFunctionScaling->True,跟没有这个选项几乎是相同的效果:RegionPlot[Sin[x y] Sin[x + y] > 1/10, {x, -5, 5}, {y, -5, 5},  ColorFunction ->   Function[{x, y}, ColorData['SolarColors'][Sin[x] Sin[y]]],  ColorFunctionScaling -> True]        和RegionPlot[Sin[x y] Sin[x + y] > 1/10, {x, -5, 5}, {y, -5, 5},  ColorFunction ->   Function[{x, y}, ColorData['SolarColors'][Sin[x] Sin[y]]]]

3

再来一个具体的例子:RegionPlot[Sin[x] Sin[y] > 1/10000, {x, -5, 5}, {y, -5, 5}, ColorFunction ->  Function[{x, y}, ColorData['BlueGreenYellow'][Sin[x] Sin[y]]], ColorFunctionScaling -> False]

注意事项
1

好了,这两个选项就先介绍这么多!

2

写代码时,一定要注意优先级,否则都不知道为什么有的选项不执行。

3

如果喜欢这篇文章,请投上一票,好吗?

推荐信息