在MATLAB中绘制轮廓图上的零值

时间:2012-11-27 20:51:40

标签: matlab octave contour

我正在绘制轮廓图上的z值0到10。

当我包含数据1或更大时,我获得了等高线图。如下所示:

longitude = [80 82 95]
latitude = [30 32 35]
temp = [1 4 6; 1 2 7; 3 5 7]

contourf(longitude,latitude,temp)

现在,我想在等高线图上绘制ZERO VALUE。虽然我期待一种颜色代表零值,但我获得了一个白色方块。

longitude = [80 82 95]
latitude = [30 32 35]
temp = [0 0 0; 0 0 0; 0 0 0]

contourf(longitude,latitude,temp)

非常感谢, 阿曼达

1 个答案:

答案 0 :(得分:1)

正如伊萨克所说。要在contourf中绘制常量数据是不可能的。

当您尝试这样做时,您将从Matlab获得此警告:

  temp =
   0     0     0
   0     0     0
   0     0     0

  Warning: Contour not rendered for constant ZData 
  > In contourf>parseargs at 458
    In contourf at 63
    In TESTrandom at 45

但是,如果将一些数字设为0,则contourf工作正常:

longitude = [80 82 95];
latitude = [30 32 35];
temp = [0 4 6; 1 0 7; 0 5 9];

contourf(longitude,latitude,temp);
hcb = colorbar('horiz');        % colour bar
set(get(hcb,'Xlabel'),'String','Contourf Bar.')

contourf produced by the code above