我创建了一个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');
答案 0 :(得分:3)
如果黑色作为等于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);
这会将两个表面绘制在彼此之上,而下部表面设置为黑色。
答案 1 :(得分:1)
正如H.Muster所写,您可以将值等于1000设置为NaN。在这种情况下,轴颜色显示通过,默认为白色。如果您希望它为黑色,则可以设置轴对象的“颜色”属性:
a=[1 2 4; 3 NaN 5; 6 7 8];
pcolor(a);
set(gca, 'Color', 'Black')