how to get/extract x,y values from scatter function

6 vues (au cours des 30 derniers jours)
SatyaPrakash Gupta
SatyaPrakash Gupta le 4 Mar 2020
Hi,
I am currently plotting the X,Y coordinates using scatter function as below.
scatter(x(:,1),x(:,2),[],x(:,3),'filled')
I would like to get the x,y value which is being plotted with different colors, could you please do help me out here.
thank you.

Réponse acceptée

Bhaskar R
Bhaskar R le 5 Mar 2020
You need to apply thresholding to the 3rd column of the x variable upto blue colour as it is normalized colour. If you apply colourbar to the plot you can get idea how to choose threshold value
Demo:
>> x = rand(10, 2); % X, Y data
>> x(:, 3) = 1:10; % colour data where 1 indicates complete blue, 2 - somewhat diluted colour so it is normalized
>> ax = scatter(x(:,1),x(:,2),[],x(:,3),'filled');colorbar;
If you see the colorbar is the axes upto 5 level values are blue as you require, so get the values using CData properties of ax
>> x_values = ax.XData(ax.CData <5);
>> y_values = ax.YData(ax.CData <5);
Hope you get my point
  3 commentaires
Bhaskar R
Bhaskar R le 5 Mar 2020
For the understanding purpose i included colorbar
SatyaPrakash Gupta
SatyaPrakash Gupta le 6 Mar 2020
I think adding colorbar to the code will help to determine the range of the color , therefore it is a good idea to add colorbar
if there is a for loop for 6000 times and the 3rd element keeps changing , as soon as the loop is finished , then we can get the total limit /range of the colorbar , please do correct me if my udnerstanding is wrong ?
Also i would like to define the threshold between -10 to 10 , how can i do it because the code provided by you takes only one comparision ?

Connectez-vous pour commenter.

Plus de réponses (1)

darova
darova le 4 Mar 2020
Use handle
h = scatter(..)
get(h,'xdata')
  1 commentaire
SatyaPrakash Gupta
SatyaPrakash Gupta le 5 Mar 2020
with the above suggestion , i think the value will be the same as compared the input provided to the scatter.
I want to extract/get the value of X,Y which has being plotted with different colors like for example.
when the scatter color is blue, i want to get all the X Y coordinates of blue color similarly for Geen, Yellow

Connectez-vous pour commenter.

Produits


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by