在从matlab导入ColorData时阅读this question,我想知道是否有办法改变ColorFunction缩放的值范围。这可能并不完全清楚,所以让我用matlab中的数字显示(使用与上一个问题相同的例子)
左侧的图是原始图,ColorData
映射到-1
和1
之间的数据值。现在,我可以轻松地将其设置为映射到0
和1
之间的数据值,结果是所有小于0
的值都被指定为蓝色(色彩映射中最低) 。 PlotRange
是最接近的函数,除此之外使用ClippingStyle
会产生类似的数字。但是,它不会重新缩放ColorData以映射到绘图范围。
我怎样才能在Mathematica中这样做?
顺便说一句,要使用Mathematica插入彩条,您可以查看此function
答案 0 :(得分:9)
这是一个应用于曲面的函数:
Plot3D[x + y, {x, -2, 2}, {y, -2, 2},
ColorFunction -> (ColorData["Rainbow", #3] &), Mesh -> {{1}, {1}}]
要查看右上角,使用相同的颜色函数和缩放,我设置ColorFunctionScaling -> False
,并手动缩放颜色函数以将(全局)最小值映射为零,并使用{将最大值映射到1 {1}}:
Rescale