我想在Matlab中将某个类的许多对象排列为图。目标是,当我创建一个新对象时,它会自动添加到图形中。然而,就我所见,当我添加一个新节点时,图只接受数字。通常是如何处理的?我应该有一个包含所有对象的GroupClass
和一个包含关系的图吗?我想要的是类似的东西
G = graph()
O1 = createObject(G)
O2 = createObject(G)
在createObject中类似
...
G.addnode(O1)
G.addedge(O1,O2)
...
之后,我想能够绘制关系,打印出组或所有节点,等等。
您可以通过将节点添加为"节点属性";CCD_ 2。这里有一个非常简单的例子:
G = graph();
for idx = 1:10
% make a single-row table containing the name and data
% associated with this node
nodeProps = table({['Idx ', num2str(idx)]}, ...
MException('msg:id', sprintf('Message %d', idx)), ...
'VariableNames', {'Name', 'Data'});
G = addnode(G, nodeProps);
end
for idx = 2:10
% add edges based on the node names
G = addedge(G, 'Idx 1', sprintf('Idx %d', idx));
end
plot(G)