【发布时间】:2013-05-27 22:19:22
【问题描述】:
我经常想绘制一张从某个负数到某个正数的差异图像。问题在于matlab的颜色图仅从最小值缩放到最大值,但不关心一些中间值(本例为零)。例如,我制作了具有单个像素不同的peaks 图像:
原来的样子是这样的:
所以零值在顶部图像为蓝色,在底部为绿色...(以 jet colormap 为例)
我想构建一个颜色图,无论最小\最大值是什么,它都会自动将零值表示为相同的颜色。我该怎么做?
【问题讨论】:
-
我认为您可以通过在绘图之前将所有内容缩放到固定间隔来实现这一点,例如
[-1,1]。 -
使用颜色映射编辑器:mathworks.de/de/help/matlab/ref/colormapeditor.html 解释了如何将绿色聚焦为零
-
Robocob 特别要求自动实现,这样他就不需要每次都打开颜色图编辑器...
-
您可以使用
caxis通过使用以零为中心的范围来控制颜色映射,这样0始终位于中间(假设您使用的是缩放颜色映射而不是直接映射)
标签: matlab plot color-mapping