Respuesta aceptada

Andrew Newell
Andrew Newell el 18 de Mzo. de 2011

1 voto

You have to dig down a couple of layers to find the data:
h = scatterplot(rand(20,2));
h = get(h,'Children');
h = get(h,'Children');
x = get(h,'xdata');
y = get(h,'ydata');

Más respuestas (2)

Tasos Giannoulis
Tasos Giannoulis el 25 de En. de 2017

1 voto

SCATTERPLOT returns a handle to the figure. The child of the figure is the "Axes", whose child is a "Line" (even though the Line object has markers only, with no lines connecting them). The Line object has the X and Y values:
h = scatterplot(awgn(2*randi([0 1], 10, 1)-1, 20));
x = h.Children.Children.XData;
y = h.Children.Children.YData;
While this answers the question, I wonder why you want to get the XData/YData from the plot, given that these were the input of the SCATTERPLOT function at the first hand. You can separate the complex number to its real and imaginary parts using the REAL and IMAG functions.
If you were looking for the coordinates of the figure window instead, you can use:
h.Position
Walter Roberson
Walter Roberson el 18 de Mzo. de 2011

0 votos

get() the XData and YData properties from the plot handle.

3 comentarios

jessica david
jessica david el 18 de Mzo. de 2011
i tried
>> h = gcf;
>> scatterplot(y)
>> x = get(h,'xdata');
but it gives an error saying
??? Error using ==> get
There is no 'xdata' property in the 'figure' class.
Matt Fig
Matt Fig el 18 de Mzo. de 2011
Xdata is a property of the plotted object, not a figure object. I don't know about the SCATTERPLOT function, but this works for PLOT:
L = plot(1:10);
get(L,'xdata')
Matt Fig
Matt Fig el 18 de Mzo. de 2011
According to the doc, SCATTERPLOT returns the handle to the figure, which seems very strange to me. However, you might still be able to find the data with FINDALL.
H = findall(0,'type','line')
and if this doesn't find it, you will have to call FINDALL with only the 0 and look at each element of H to find which one has the data.

Iniciar sesión para comentar.

Categorías

Más información sobre Graphics Performance en Centro de ayuda y File Exchange.

Preguntada:

el 18 de Mzo. de 2011

Respondida:

el 25 de En. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by