ColorFunction的动态(或强制)缩放

时间:2011-04-22 15:41:27

标签: wolfram-mathematica

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

enter image description here

左侧的图是原始图,ColorData映射到-11之间的数据值。现在,我可以轻松地将其设置为映射到01之间的数据值,结果是所有小于0的值都被指定为蓝色(色彩映射中最低) 。 PlotRange是最接近的函数,除此之外使用ClippingStyle会产生类似的数字。但是,它不会重新缩放ColorData以映射到绘图范围。

我怎样才能在Mathematica中这样做?

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

1 个答案:

答案 0 :(得分:9)

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

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

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

Rescale

screenshot of the two plots