I have created an image with a custom datatip update function:
h = image([1 2; 3 4]);
f = get(get(h, 'Parent'), 'Parent');
dcm = datacursormode(f);
set(dcm, 'UpdateFcn', @(~, event) num2str(event.Target.CData(event.Position(2), event.Position(1))));
dTip = createDatatip(dcm, h);
dTip.Position = [1 1];
So far, this works as expected. However, when I change the underlying CData:
set(h, 'CData', [100 2; 3 4]);
then the datatip is not automatically updated (datatip value remains at 1). With the standard update function, the datatip window is automatically updated. E.g.:
set(dcm, 'UpdateFcn', '');
set(h, 'CData', [200 2; 3 4]);
The datatip will automatically change to 200.
How can I implement an automatically updating datatip window with a custom datatip function?

 採用された回答

Frank Herzog
Frank Herzog 2019 年 4 月 26 日

2 投票

If anybody else has this problem, this call updates the datatip:
dcm.updateDataCursors;

1 件のコメント

Andrea
Andrea 2020 年 1 月 16 日
Very useful. Thanks

サインインしてコメントする。

その他の回答 (1 件)

Frank Herzog
Frank Herzog 2020 年 10 月 19 日

0 投票

It seems that this issue is resolved in R2020a. The custom datatip is now automatically updated.

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

質問済み:

2019 年 4 月 24 日

回答済み:

2020 年 10 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by