电脑
Mathematica
分别用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]]]
给区域涂上“彩虹”色(Rainbow):RegionPlot[Sin[x] Sin[x y] > 1/10, {x, -5, 5}, {y, -5, 5}, ColorFunction -> 'Rainbow']
换成“绿色粉红色调”:RegionPlot[Sin[x] Sin[x y] > 1/10, {x, -5, 5}, {y, -5, 5}, ColorFunction -> 'GreenPinkTones']
像'GreenPinkTones'、'Rainbow'这样现成的染色方案还有许多,如下图所示。
如果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]]
不过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的作用是,指定供给一个颜色函数的自变量,看是否应当将尺度按比例缩放到 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]
当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]]]]
再来一个具体的例子: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]
好了,这两个选项就先介绍这么多!
写代码时,一定要注意优先级,否则都不知道为什么有的选项不执行。
如果喜欢这篇文章,请投上一票,好吗?