如何绘制条形图以负值反转?

时间:2018-01-16 13:26:40

标签: matlab plot bar-chart matlab-figure

从这个10x3 y矩阵开始,其中所有条目都是负值:

y = [-56   -58   -60;
     -75   -74   -72;
     -66   -66   -69;
     -67   -69   -71;
     -66   -67   -71;
     -59   -58   -57;
     -69   -71   -69;
     -59   -58   -58;
     -66   -67   -68;
     -75   -73   -72];

我需要使用bar(y)简单地绘制它,但条形图显示为反向,如下所示:

figure

如何在法线方向上绘制此矩阵,而y轴不会改变(即,从-95到-50,如图所示),使得具有-50值的条形是最高的一个,那个-90是最小的一个?

1 个答案:

答案 0 :(得分:4)

使bar绘图偏移90,以便绘制正值而不是负值,然后调整刻度和刻度标签。

bar(y+90);
ax = gca; 
%Limiting # of YTicks to 5 between minimum and maximum. 
%Inputting 5 YtickLabels accordingly. Select them as per your requirement.
ax.YTick = linspace(min(ax.YTick),max(ax.YTick),5);
ax.YTickLabel = strsplit(num2str(-90:10:-50));  

对于R2014a及更早版本,请使用getset代替点表示法来操作这些属性。

<强> 输出:

out