Can I extract XY data from a figure and sort it by the color of the datapoints?

1 Ansicht (letzte 30 Tage)
I have a figure that is shown below, where the data is either red or blue. I need to extract the XY data from this figure and seperate the red data from the blue data. Is there a piece of MATLAB code that can extract just the data that corresponds to a certain property of the datapoints? While its hard to notice in the image, the circles representing the red data are also a different size from the blue data, so I could sort them by size too if it's easier.
  5 Kommentare
Jacob Blumeier
Jacob Blumeier am 28 Nov. 2020
It was an oversight on my part. The code I edited and used from my professor simulated particles in a rotatating fluid, and in his original simulation all of the particle locations were the same size. Because of that he just compiled all of the data into a text file. For my simulation I used particles of two different sizes and I kept it the same so that it goes to a text file, and all of the datapoints are jumbled together in that text file.
In short, I'm new to MATLAB and have no clue what I'm doing.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Amrtanshu Raj
Amrtanshu Raj am 1 Dez. 2020
Hi,
Since you have a .fig file, the following code will help you get back the datapoints. This is the basic structure, you may have to tweak it a little based on the original method used to plot it.
%lets say your figure is name fig2dataset.fig
fig = openfig('fig2dataset.fig'); %load the figure back to matlab
k = fig.Children.Children; %get the children of the figure file ie. the datapoints
for i = 1:size(k,1) %itterate to all the lines plotted
disp("Dataset"+i);
for j = 1:length(k(i).XData)
disp([k(i).XData(j) k(i).YData(j)])%disp the X and Y data points
end
end

Kategorien

Mehr zu Develop uifigure-Based Apps finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by