【问题标题】:bar chart display all cateogries条形图显示所有类别
【发布时间】:2014-11-11 15:58:49
【问题描述】:

我有一个条形图。它有 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))));

【问题讨论】:

  • 你能提供一个可重现的例子吗?

标签: matlab


【解决方案1】:

这是你要找的吗?:

value 是具有所提供值的向量
label 是具有所提供字符串的单元格

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

【讨论】:

  • 是的,这就是我所追求的。我正在使用 plotyy,因为我在图表上有另一个系列。我想知道使用 plotyy 而不是 bar 是否与我的标签被截断有关?
猜你喜欢
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 2015-07-21
相关资源
最近更新 更多