Get a point from a graph

Hie guys, I have done a GUI to plot a graph. Now i would like to get the calue from the graph. Lets say i plot(x,y). I would like to get the value out, for example when x=4, what is the value of y. I know there is a datacursormode, but it only show me the value in the graph. In this case, i would like to get the value in the command window.
Thanks Ean

 采纳的回答

You can retrieve the plotted data, for example:
XData=get(get(gca,'children'),'XData');
YData=get(get(gca,'children'),'YData');
Now if you want to know the y value when x=4 just do
YData(XData==4)

6 个评论

Note that the final line may fail. If you get an empty value for that line, use the INTERP1 function instead.
y_4 = interp1(XData,YData,4);
Hie, the children there is it refers to the axes name?
For example:
x = -4:.1:4;
y = x.^2;
plot(x,y)
XData=get(get(gca,'children'),'XData');
YData=get(get(gca,'children'),'YData');
% Get y value for x=3.33 - NOT a data point.
y_3p33 = interp1(XData,YData,3.33,'spline')
Children in that case refers to the Line made by the plot.
Thank You, your code help me a lot.
What if i want to get the value of x when y is zero for example?

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2011-2-15

0 个投票

You can use a custom datacursormode callback that includes display() in its code.

1 个评论

Erm, is not suitable for me in this case because i would want to recall a very precise value like 12.22. I still working on how to recall that thing. Is just didnt work..

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by