how to extract large number of data points from 2D plot

12 views (last 30 days)
I want to extract large number of data points, like 30000 data ponits or more from 2d plot. Is it possible in matlab ?How to do it ?. These points will be used for other purpose but not for plotting. Thats why want large number of data points .

Answers (4)

Adam Danz
Adam Danz on 12 Sep 2020
Edited: Adam Danz on 14 Sep 2020
If you can reproduce the figure, just save the coordinates in addition to plotting them,
plot(x,y,'o')
save('coordinates.mat','x','y')
If you only have the .fig file and need to extract the coordinates, open the file so it's the current figure,
fig = gcf();
ax = gca(fig);
chil = ax.Children;
x = get(chil,'XData');
y = get(chil,'YData');
z = get(chil,'ZData');
x,y,z, will be vectors if only 1 set of data are plotted on the axes. If more than 1 object is plotted, x,y,z will be a n*1 cell array for n objects.

Ameer Hamza
Ameer Hamza on 12 Sep 2020
If instead of a fig file, you have an image, you can use this package to extract the data points: https://www.mathworks.com/matlabcentral/fileexchange/7173-grabit
  5 Comments
Aiden James
Aiden James on 16 Sep 2020
Yes, I have tried it. But it is difficult to get large number of data points manually. Is there any command to get large number of data points, in which we can put no. of data points that points that we want.
Adam Danz
Adam Danz on 16 Sep 2020
I haven't used that function but if it doesn't allow the user to specify the sampling rate, you can certainly interpolate the values it extracts.

Sign in to comment.


Aiden James
Aiden James on 16 Sep 2020

Aiden James
Aiden James on 16 Sep 2020

Categories

Find more on Visual Exploration in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!