条形图显示所有类别

时间:2014-11-11 15:58:50

标签: matlab

我有条形图。它有25个条,都代表不同的类别。图表很好,但它只打印出一些类别。

我想通过使用下面的一行,它会显示我在x_labels中指定的所有25个类别。

set(gca,'XtickL',x_labels);

我还使用了rotateXLabel方法并将标签旋转90度,这样它们就不会相互叠加。但是仍然只显示一些类别。如何显示所有这些?

更新

这是我的数据,

'Health Care'   4.72629799981083
'Capital Goods' 4.09458147368759
'Transp'    3.98149295925542
'Media' 1.79439005788530
'Insurance' 1.69956150439052
'Commer Serv'   1.39773924375053
'Food & Staples'    1.37870312358688
'Tech Hardw'    1.14006008338028
'Div Finan' 1.07437424540054
'Retailing' 0.799227696500581
'Cons Durab'    0.484704646767555
'Semiconduct'   -0.0668927175281457
'Cons Serv' -0.0994263844790881
'Software'  -1.13770277184728
'Auto&Comp' -1.14193637823934
'Materials' -1.52052729345776
'Real Estate'   -1.58166267932780
'HH & Prod' -1.68076878183555
'Food Bever'    -1.73283367572542
'Pharma'    -1.90119783888618
'Telecom'   -2.04480219189470
'Utilities' -2.20510498991084
'Energy'    -2.36405808621777
'Banks' -5.09421924506606

另一次更新

找到解决方案here。尽管由于我的一些标签太长而没有完全100%完美所以图表会将它们剪掉。需要弄清楚如何解决这个问题

 [pp,h1,h2]=plotyy((1:length(risk_tot)),risk_tot,(1:length(risk_tot)),risk_cont,'bar','stem');
 xData = get(h1,'XData');
 set(gca,'Xtick',linspace(xData(1),xData(end),length(x_labels(:, 1))));

1 个答案:

答案 0 :(得分:1)

这是你在找什么?:

value是带有提供值的向量
label是一个包含提供字符串的单元格

bar(value);
set(gca, 'XTick', 1:length(value))
set(gca, 'XTickLabel', label)
grid on
rotateXLabels(gca(), 90)

enter image description here