how to choose different colors for nodes
    29 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Kashfia Mahin
 le 25 Août 2019
  
    
    
    
    
    Commenté : Kashfia Mahin
 le 27 Août 2019
            t = [1 1 1 1];
h = [2 3 4 5];
g = graph(t,h);
p = plot(g);
g.Edges.value = [10; 20; 20; 100];
g.Nodes.value = [0.3; 0.564; 12; 1; 0.005];
g.Nodes.NodeColors = g.Nodes.value;
g.Edges.EdgeColors = g.Edges.value;
p.NodeCData = g.Nodes.NodeColors;
p.EdgeCData = g.Edges.EdgeColors;
q= plot(g,'NodeCData',g.Nodes.NodeColors);
colorbar
t is the source node as input and h is demand node as output. I want to two different colors for input and output. But I don't find correct way. Plz help me to solve it.

3 commentaires
  Adam Danz
    
      
 le 25 Août 2019
				"I want to two different colors for input and output. But I don't find correct way."
Does that mean you want the point labeled "1" to be one color and all the other points should be a different color?  
  Guillaume
      
      
 le 25 Août 2019
				@darova, scatter does not have an overload for graph objects. Only plot has.
@Kashfia, it seems you already know how to set the colour of the nodes using 'NodeCData' (although the syntax you use is undocumented, it's equivalent to 'NodeCData', 'flat'), so like Adam, I'm not sure what you're asking.
Réponse acceptée
  Steven Lord
    
      
 le 26 Août 2019
        When you call plot on your graph or digraph object, specify the 'NodeColor' property. For example, here are two ways to create a digraph like the one in your example and plot it with node 1 being red and the others being green. I put each in their own figure window so you can compare the results.
d = digraph;
d = addedge(d, 1, 2:5);
You can explicitly specify a numnodes(d)-by-3 matrix of RGB values:
figure
p = plot(d, 'NodeColor', [1 0 0; 0 1 0; 0 1 0; 0 1 0; 0 1 0]);
Or you can plot with all the nodes being the same color and highlight ones that are in some way 'special'.
figure;
h = plot(d, 'NodeColor', 'g');
highlight(h, 1, 'NodeColor', 'r');
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Graph and Network Algorithms 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!



