Matlab 2019b -错误的数据提示准确性

38次浏览(过去30天)
加妈妈
加妈妈 2019年11月17日
评论道: 麒麟郭2022年9月19日
你好,
我使用的是2019b,我无法使用数据提示获得图中某个点的准确值。
附件是一个例子。
有办法解决这个问题吗?
谢谢,

接受的答案

亚当Danz
亚当Danz 2019年11月17日
编辑:亚当Danz 2021年8月19日
从png图像判断,数据提示中报告的值是准确的。问题似乎是精度,而不是准确性。注意,x轴和y轴的刻度是 x10 ^ 4 .这两个x值显示为77020的原因可能是因为数据提示没有显示更精确的值(即77020.48930)。
这里有两种方法来改变数据提示值的精度。
方法一:自定义更新功能
根据您的需要调整这个演示。自定义更新功能为 属性手动添加数据提示时调用 datatip () 函数(可在Matlab r2019a及更高版本中使用)。
%创建一个图
图()
Ph = plot(magic(5).*7000+兰特(1),“o”);
为数据游标对象指定一个自定义更新函数
DCM =数据模式(gcf);
集(dcm,“UpdateFcn”@customDataCursorUpdateFcn,“启用”“上”);
这是指定小数点后5位的函数
函数txt = customDataCursorUpdateFcn(~, event)
pos =事件。位置;
TXT = {sprintf(“X: % .5f”, pos(1)), sprintf(Y: % .5f '、pos (2))};
结束% <-可能不需要
方法二:使用DataTipTemplate
与方法1不同,这个方法 手动添加数据提示时支持 datatip () .由于对象之间的数据提示内容不同,您可能需要根据自己的需要调整这个演示。演示更改了假定位于数据提示的第一行和第二行中的x和y值。这适用于矢量中的所有线对象 ph值
%创建图形
图()
Ph = plot(magic(5).*7000+兰特(1),“o”);
指定dataip中X(第一行)和Y(第二行)值的精度
I = 1:数值(ph)
ph值(i) .DataTipTemplate.DataTipRows(1)。格式=“% .5f”% X
ph值(我).DataTipTemplate.DataTipRows(2)。格式=“% .5f”Y %
结束
显示示例数据提示
datatip(ph(1), ph(1).XData(4), ph(1).YData(4)));
5个评论
麒麟郭
麒麟郭 2022年9月19日
谢谢你!方法1帮助我,它也适用于MATLAB R2018a。看起来很优雅。

登录评论。

更多答案(0)

类别

了解更多循环和条件语句帮助中心文件交换

2022世界杯八强谁会赢?


释放

R2019b

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map