我有条形图。它有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))));
答案 0 :(得分:1)
这是你在找什么?:
value
是带有提供值的向量
label
是一个包含提供字符串的单元格
bar(value);
set(gca, 'XTick', 1:length(value))
set(gca, 'XTickLabel', label)
grid on
rotateXLabels(gca(), 90)