Extract data tips values from a plot in app designer

I want to add the X and Y values of data tips to a matrix. How can I do it?
As an example below, I want to create a 3x2 matrix from the data tip X and Y values

 採用された回答

Florian Bidaud
Florian Bidaud 2023 年 8 月 21 日

0 投票

p = plot([0:5],[1:6])
for i = 1:6
datatipsX(i) = p.Children(i).X;
datatipsY(i) = p.Children(i).Y;
end

10 件のコメント

Mohd Aaquib Khan
Mohd Aaquib Khan 2023 年 8 月 21 日
Hi, thanks for the answer, this will not work unless I select the data tips and update the code right?
its not working if I copy paste and run
Florian Bidaud
Florian Bidaud 2023 年 8 月 21 日
編集済み: Florian Bidaud 2023 年 8 月 21 日
Exactly, this extracts the values from the datatips, isn't it what you wanted to get ?
Mohd Aaquib Khan
Mohd Aaquib Khan 2023 年 8 月 21 日
Yes but this is not working. I plot the first line then mark the data tips.
then I run the rest of the code.
But it is throwing error "Index exceeds the number of array elements. Index must not exceed 0."
Florian Bidaud
Florian Bidaud 2023 年 8 月 21 日
This must be because your for loop must loop from 1 to your number of datatips. I just put 6 as an example.
Mohd Aaquib Khan
Mohd Aaquib Khan 2023 年 8 月 21 日
I have 2 data tips and Im doing i = 1:2
it is not detecting datatips, its showing as 0
Florian Bidaud
Florian Bidaud 2023 年 8 月 22 日
編集済み: Florian Bidaud 2023 年 8 月 22 日
Can you show what p.Children returns in the command window ? This is exactly the message you would have if you run this code without having datatips on your plot.
Mohd Aaquib Khan
Mohd Aaquib Khan 2023 年 8 月 22 日
As we see, p.children gives 0x0 even when I have added datatips.
I hope I am doing correctly, I plot it then add data tips and then run the lower part of the code.
Florian Bidaud
Florian Bidaud 2023 年 8 月 22 日
I just realised you were using a live script.
When you update a figure in a live script, commands are not automatically added to the script so you need to copy the code and add them, which in your case isn't really neat.
Do you really want to use a live script here or was it just to test the code ?
Mohd Aaquib Khan
Mohd Aaquib Khan 2023 年 8 月 22 日
I was just testing in live script, I want to do this in an app actually.
Otherwise it is working well in a script, thanks. I will accept it as the answer.
Also, Is there a way where we can read the current figure and then identify the datatips?
i tried-
ax = gca; %or gfc
ax.Children
but its not working.
Florian Bidaud
Florian Bidaud 2023 年 8 月 22 日
Nice !
In the live script, you can't.
Otherwise, you should be able to do that with ax.Children.Children

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

その他の回答 (0 件)

カテゴリ

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

製品

リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by