进入数据光标模式并选择一个条形图。
现在右键单击数据点,然后从菜单中选择“编辑文本更新功能...”。

修改函数如下:
function output_txt = myfunction(obj,event_obj)
pos = get(event_obj, 'Position');
lab = get(gca, 'XTickLabel');
if isa(lab,'double')
lab = arrayfun(@(x){num2str(x)},lab);
end
output_txt = {['X: ', lab{pos(1)}], ['Y: ', num2str(pos(2),4)]};
end
首先,这会获取一组 xticklabels 并将它们存储在lab
.
然后它检查它们是否实际上是双精度数,而不是字符串单元数组,并在必要时转换它们。
最后它显示正确标签的文本。
将回调另存为myfunction.m
,您应该是金色的:

如果您想以编程方式执行此操作,则需要获取相关图形的数据游标管理器。像这样的东西应该工作:
>> bar([1,2,3])
>> dcm = datacursormode(gcf);
>> set(dcm, 'UpdateFcn', @(a,b) {'Hello', 'World'})
其中第三个参数set
是要用于设置文本的函数的句柄(例如,@myfunction
如果您将前一个函数保存为 ,则可以使用myfunction.m
)。这给了你这样的东西:
