Filter löschen
Filter löschen

Indices shown in plot are off

22 Ansichten (letzte 30 Tage)
Davis
Davis am 17 Mai 2024
Kommentiert: Torsten am 22 Mai 2024 um 17:46
For large vectors, the indices shown in a figure are a bit off. For example:
test = [zeros(1,1079998), 1, zeros(1,1457106-1079998), 1, zeros(1,2159999-1457108)];
find(test) % gives correct indices: 1079999 1457108
figure; plot(test)
% The labeling of the 1's in the plot using data tips give idices of 1080000 and 1457110
This is probably a numeric precision issue.

Antworten (1)

Torsten
Torsten am 17 Mai 2024
Bearbeitet: Torsten am 17 Mai 2024
My guess is that the x-axis has a resolution of 10.
  7 Kommentare
Davis
Davis am 22 Mai 2024 um 16:40
Bearbeitet: Davis am 22 Mai 2024 um 16:42
I got the following response from Mathworks:
After initial investigation, the description matches our record and indicates this is likely a known bug. The potential reason is that the datatip is using "%g" as output format. I want to let you know that our development team is aware of this issue. We appreciate your effort in identifying and reporting issues to help us provide our users with better experience using MATLAB.
Meanwhile you could manually set the datatip output format with the following code:
test = [zeros(1,1079998), 1, zeros(1,1457106-1079998), 1, zeros(1,2159999-1457108)];
find(test) % gives correct indices: 1079999 1457108
figure;
p = plot(test)
p.DataTipTemplate.DataTipRows(1).Format ='%d'
Torsten
Torsten am 22 Mai 2024 um 17:46
Thank you for coming back and posting TMW's answer here.

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by