在Matlab中,如何在有向图中删除没有边的节点?

时间:2016-10-27 22:44:39

标签: matlab plot graph directed-graph

我输入:

plot(digraph([1 2 3 10],[2 3 1 1]))

图中显示enter image description here

如何删除节点8,9,4,5,6和7?是否有设置不显示任何没有边缘的节点?

1 个答案:

答案 0 :(得分:1)

您可以使用unique手动重新标记边缘,以便节点编号列表中没有孔。要维护原始节点名称,请以字符串单元格数组的形式将它们作为第四个输入传递给digraph

S = [1 2 3 10];
T = [2 3 1 1];
[u, ~, w] = unique([S T]);
plot(digraph(w(1:end/2), w(end/2+1:end), [], cellstr(num2str(u.'))))

enter image description here