How can i make graph something like this?
    12 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Firman Pahrizal
 le 1 Mai 2017
  
    
    
    
    
    Commenté : Firman Pahrizal
 le 5 Mai 2017
            
i want to make graph something like this how i can do this. every dots have a different color based on mean on weighted value. what kind of function to make something like this? if anyone can provide me with different example i would appreciate it
regards,
fireman
0 commentaires
Réponse acceptée
  Kevin Gleason
    
 le 3 Mai 2017
        
      Modifié(e) : Walter Roberson
      
      
 le 3 Mai 2017
  
      The bases of this graph is a scatter plot. You can provide a scatter plot with a colormap that supplys a color for each individual dot: https://www.mathworks.com/help/matlab/ref/scatter.html#btrli6o-1_1
x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
c = linspace(1,10,length(x));
scatter(x,y,[],c, 'filled')
colorbar; % display color bar to right
In the case of the graph you mentioned, c is an M-by-3 matrix, which defines an RGB value for each dot based on mean weighted value. You will need to generate this M-by-3 matrix.
We can create a "jet" colormap, and index into it to choose a color based on the graphic above:
function c = MyColorBar(xData,yData)
    spectrum = jet(10); % Generate 10 RGB values
    data = xData+yData;
    result = (data - min(data))./(max(data) - min(data)) .* 9; % normalize values to 0-9
    indices = floor(result) + 1; % indices for each value 1-10
    c = spectrum(indices,:); % return proper color values for each point
end
You can test the above code as follows:
y = rand(1,1000) .* 10;
x = rand(1,1000) .* 10;
c=MyColorBar(x,y);
scatter(x,y,25,c,'filled')
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Data Distribution Plots dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

