Is this a bug in bar plot

Something is not right with bar plot when some values are very very high and it is required to limit y values so that other values can be seen.
highValue=10E15;
y = [2 2 3*highValue; 2 5 6*highValue; 2 8 9*highValue; 2 11 12*highValue];
bar(y)
Now I want to limit yvalue so that I can see other values
ylim([0 10])
Now the results is:
No issue when highValue=10E14. Is this a bug in bar plot?

4 个评论

Duplicated here w/ R2019b. Which release are you using?
Does look like something went wrong in rendering, agreed.
I tested with 2019a, 2019b and 2020a, the issue persistent with all these versions.
R2014b doesn't go outside the box boundaries but generates the same diagonal slash on the second group...
Adam Danz
Adam Danz 2020-4-22
编辑:Adam Danz 2020-4-22
Error reproduced in r2020a.

请先登录,再进行评论。

回答(1 个)

I suggest you to use two additional lines of code
highValue=10E15;
y = [2 2 3*highValue; 2 5 6*highValue; 2 8 9*highValue; 2 11 12*highValue];
bar(y)
set(gca,'YScale','log');
grid on;

4 个评论

Nice workaround to get around the display problem...
Thanks for the suggestion. But my data has also negative values, so log scale does not work.
I found this type of issue with plot function as well.
Is there really some mandatory reason to have such a large highvalue value, anyway, in reality?
Doesn't seem realistic use case, somehow...

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Annotations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by