3

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

提前非常感谢,亚当

- 编辑 -

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

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

2 回答 2

3

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

a(a==1000) = nan; 

该函数将以白色pcolor绘制nan值。

~edit~
要将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); 

这会将两个表面绘制在彼此之上,下面的一个设置为黑色。

于 2012-06-27T11:30:41.537 回答
1

正如 H.Muster 所写,您可以将等于 1000 的值设置为 NaN。在这种情况下,轴颜色显示通过,默认为白色。如果你希望它是黑色的,你可以设置轴对象的 'Color' 属性:

a=[1 2 4; 3 NaN 5; 6 7 8];
pcolor(a);
set(gca, 'Color', 'Black')
于 2012-06-27T11:52:28.033 回答