Why is data cursor showing incorrectly approximated value in bar plot in MATLAB?

1 次查看(过去 30 天)
Below is the code:
Lw=[98.5321 98.5321 100.5321 92.5321 88.5321 81.5321 77.5321 75.5321];
bar(Lw)
Upon executing it I get a bar plot figure, which I have attached herewith. Upon using data cursor to point to the values, I see values approximated to one decimal as given below:
Lw=[98.5 98.5 101 92.5 88.5 81.5 77.5 75.5];
Observe that Lw(3) is specially displayed with incorrect approximation i.e 101 rather than 100.5(See the file attached). Why does this happen? Also, how to have data cursor to show values upto three decimals?

采纳的回答

Walter Roberson
Walter Roberson 2016-10-19
It is a matter of the number of characters. The display ends in 0.5 as expected on the values that are less than 100, where there is more room for characters. All of the items over 100 get rounded to not have the decimal point.
(Tested on R2012b on Windows 10)
  2 个评论
Thanigaivel Raja T
Thanigaivel Raja T 2016-10-20
Thank you. Is there a way to increase the number of characters displayed? Because the bar plot is a display of result of a problem and part of a GUI. If the data cursor is inaccurate, then other methods for display of result need to be searched for.
Walter Roberson
Walter Roberson 2016-10-20
Have a look at datacursormode() which allows you to add a custom update function that can return any text.
101 showing up for 100.5321 is not actually wrong, it is rounding that goes on all the time. For example 100.5321 is itself rounded and in MATLAB would be represented as 100.5320999999999997953636921010911464691162109375 and I don't think you want all of that showing up (and if you do, get the File Exchange Contribution num2strexact(

请先登录,再进行评论。

更多回答(1 个)

Swarooph
Swarooph 2016-10-19
I looked at this on MATLAB R2016b and it looks ok.
In any case, play with the text update callback function to have custom decimal places/display. Documentation here.

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by