datatip gives same x value for different samples

Here is a simplified example of my problem. How can I get tooltips to show X 500000, X 500001, X 500002, etc.? Instead it shows X 500000 for all of these points. When the number of points is large enough, tooltips does not give correct integer sample number.
x = 1:1e6; % sample number
y = (-1).^x;
plot( y,'.' ); ylim( [-1.5 1.5]); xlim([500000 500020]);
title('R2020a: Tooltip shows X 500000 for all the points')

 采纳的回答

Hey Paul,
I am using the R2021b and I see the datatips properly, but you can play with the last two lines to get your desired output.
x = 1:1e6; % sample number
y = (-1).^x;
lineHandle = plot( y,'.' ); ylim( [-1.5 1.5]); xlim([500000 500020]);
title('R2020a: Tooltip shows X 500000 for all the points')
dt = datatip(lineHandle, 500010, 1);
% You can play with format specification to get the desired output
lineHandle.DataTipTemplate.DataTipRows(1).Format = '%6d';
lineHandle.DataTipTemplate.DataTipRows(2).Format = '%6d';
% lineHandle.DataTipTemplate.DataTipRows.Format is a comma separated list,
% I never remember how to assign to it

4 个评论

In R2020a, got error:
Unrecognized method, property, or field. 'Format' for class 'matlab.graphics.datatip.DataTipTemplate'.
Error in Tooltip (line 5)
lineHandle.DataTipTemplate.Format
I don't see 'Format' in this documentation:
Maybe this is a recent undocumented feature.
With your edited answer, I now get:
Unrecognized method, property, or field. 'DataTipRows' for class 'matlab.graphics.datatip.DataTipTemplate'.
Works. Thanks for digging that out of R2020a docs.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

产品

版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by