我创建了一个 pcolor,其 caxis 范围从 -3 到 3。但是,在数据中,我有很多点的值正好是 1000。我想做的是保持所有其他点的颜色相同点,但将值为 1000 的任何点的颜色设置为黑色。有没有人有任何想法我怎么能做到这一点..?

非常感谢提前,
亚当

- 编辑 -

我目前正在使用 pcolor 的映射工具 m_pcolor 创建绘图,如下所示(有关详细信息,请参阅 here):

m_proj('Robinson')
h = m_pcolor(Lon', Lat', input_matrix);
m_coast('Color', 'k', 'LineWidth', 1);
set(h,'EdgeColor','none');

最佳答案

如果黑色作为等于 1000 的值的颜色不是严格要求,您可以简单地将这些值设置为 NaN

a(a==1000) = nan;

函数 pcolor 将在 白色 中绘制 nan 值。

~编辑~
要以黑色显示 nan 值,您可以将轴的背景更改为黑色:
set(gca, 'color', [0 0 0]);
hold on;
pcolor(a);

~edit2~
如果您无法更改背景,请尝试以下解决方法:
h1 = pcolor(ones(size(a)));
hold on;
set(h1, 'facecolor', [0 0 0]);
pcolor(a);

这将绘制彼此上方的两个表面,较低的一个设置为黑色。

关于Matlab - 为 pcolor 中的值设置特定颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11224164/

10-12 23:53