How can I create a bar plot from sorted values with correct sorted label values?

3 次查看(过去 30 天)
Dear All, I would like to create a bar plot with sorted precipitation data (pr) along its sorted date (date). I tried the following:
labels=num2str(date);
bar(pr);
set(gca,'XTickLabel',labels);
I got the attached figure. I do not understand why the figure shows the date incorrectly? I am mean I would like to have every bar one label value. Could someone suggest me a solution? Thank you for your help in advance!
  1 个评论
Szabó-Takács Beáta
Dear All, I could improve the bar.fig figure. I edited its xticks in Property Editor. Now it shows every date but unfortunately, the x-axis is slipped a bit. Could someone suggest me a solution?

请先登录,再进行评论。

回答(1 个)

Rik
Rik 2017-2-24
编辑:Rik 2017-3-1
As far as I understand this plot and the axis and bar objects it contains, you have only put in 4 years, but you have many more bars in pr. What you should try is the following:
sorted_date=sort(date);
labels=num2str(sorted_date);%date must be a col-vector (nx1)
bar(date,pr);
set(gca,'XTick',sorted_date);
set(gca,'XTickLabel',labels);
  2 个评论
Szabó-Takács Beáta
Dear Rik,
Thank you for your comment, but unfortunately, it does not work. I tried your suggestion and I got the error message:
Error using matlab.graphics.axis.Axes/set
While setting the 'XTick' property of 'Axes':
Value must be a vector of type single or double whose values increase

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by