Plot Zero Value on Contour Plot in MATLAB

2019-08-03 15:16发布

问题:

I'm plotting z values, 0 to 10, on a contour plot.

When I include data 1 or greater, I obtain a contour plot. Like the following:

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

contourf(longitude,latitude,temp)

Now, I want to plot the ZERO VALUE also on the contour plot. While I was expecting one color representing the zero value, instead I obtained a white square.

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

contourf(longitude,latitude,temp)

Thanks a lot, Amanda

回答1:

As Issac mentioned. To plot a constant data in a contourf is not possible.

When you try to do so you will obtain this warning from 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

However, if you put some numbers as 0, the contourf works fine:

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.')