Setting EdgeColor in 2015B+ for graph.m
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Matlab2010
el 11 de Mzo. de 2016
Comentada: Steven Lord
el 11 de Mzo. de 2016
A = ones(4) - diag([1 1 1 1]);
G = graph(A);
plot(G);
h=get(gca, 'Children');
%set(h, 'EdgeColor', 'red'); % I could do this but it sets all the edges red.
%set(h, 'EdgeColor', new_cols(i,1)); %I would like to be able to set each edge indivdualy.
How do I set individual edge colors?
0 comentarios
Respuesta aceptada
Mike Garrity
el 11 de Mzo. de 2016
Editada: Mike Garrity
el 11 de Mzo. de 2016
It wants an array with 3 columns, and one row for each edge. The columns are the red, green, and blue components of the color for the edge which corresponds to the row.
A = ones(4) - diag([1 1 1 1]);
G = graph(A);
h = plot(G);
h.EdgeColor = lines(G.numedges);
But you could create the array some other way.
1 comentario
Steven Lord
el 11 de Mzo. de 2016
In addition to what Mike said, if you want to make one particular edge or a few edges stand out rather than changing the color of every edge, take a look at the HIGHLIGHT function.
% Create the complete graph on 4 nodes (no self loops)
A = ones(4) - eye(4);
G = graph(A);
% Plot it with red edges of width 2
h = plot(G, 'EdgeColor', 'r', 'LineWidth', 2);
% Highlight the edge (2, 3) in black and make it width 5
highlight(h, 2, 3, 'EdgeColor', 'k', 'LineWidth', 5)
Más respuestas (0)
Ver también
Categorías
Más información sobre Graph and Network Algorithms en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!