ColorFunction的动态(或强制)缩放

4 wolfram-mathematica

从matlab导入ColorData 阅读这个问题时,我想知道是否有办法改变ColorFunction缩放的值范围.这可能并不完全清楚,所以让我用matlab中的数字显示(使用与上一个问题相同的例子)

在此输入图像描述

左边的图是原始图,ColorData映射到-1和之间的数据值1.现在,我可以很容易地将其设置为被映射到的数据值01,结果是,所有值小于0被分配蓝色(最低的颜色表).PlotRange是最接近的功能,ClippingStyle除此之外使用产生类似的数字.但是,它不会重新缩放ColorData以映射到绘图范围.

我怎样才能在Mathematica中做到这一点?

顺便说一句,要使用Mathematica插入彩条,您可以查看此功能

Bre*_*ion 9

这是一个应用于曲面的函数:

Plot3D[x + y, {x, -2, 2}, {y, -2, 2}, 
 ColorFunction -> (ColorData["Rainbow", #3] &), Mesh -> {{1}, {1}}]
Run Code Online (Sandbox Code Playgroud)

为了查看右上角,使用相同的颜色函数和缩放,我设置ColorFunctionScaling -> False并手动缩放颜色函数以将(全局)最小值映射到零,并使用Rescale以下最大值映射到一:

Plot3D[x + y, {x, 1, 2}, {y, 1, 2}, ColorFunctionScaling -> False,
 ColorFunction -> (ColorData["Rainbow", Rescale[#3, {-4, 4}, {0, 1}]] &)]
Run Code Online (Sandbox Code Playgroud)

这两个情节的截图