【发布时间】:2013-05-01 08:54:39
【问题描述】:
我想在 MATLAB 中绘制网络(电网)的结构。我有一个包含每个分支的 to-from 节点的列表。我没有节点的坐标,每次模拟时系统拓扑都会发生变化。
我还需要能够为各种线/节点分配不同的颜色,以可视化电压问题或过载等,类似于我使用 biograph 所做的(代码如下)。
BIOGRAPH 功能几乎完美。缺点是行总是从祖先块的“底部”出来,进入后代块的“顶部”。由于祖先总是显示在其后代之上,因此图表有时非常混乱(对于大型系统)。
我尝试将传记的“LayoutType”属性从默认的“分层”更改为“径向”和“平衡”,但这会产生更糟糕的结果。
我问的可能吗?它不需要是完美的解决方案,任何改进都会很棒。
这是我现在使用的代码:
%% Plot biograph
Sys = sparse(from,to,1,s,s);
SysTri = tril(Sys + Sys');
bg = biograph(SysTri,[],'ShowArrows','off','ShowWeights','off');
h = view(bg);
%% Color faulted line:
set(h.nodes(newFaultNodes),'Color',[1 0.4 0.4]);
fowEdges = getedgesbynodeid(h,get(h.Nodes(newFaultNodes),'ID'));
revEdges = getedgesbynodeid(h,get(h.Nodes(fliplr(newFaultNodes)),'ID'));
edges = [fowEdges;revEdges];
set(edges,'LineColor',[1 0 0])
set(edges,'LineWidth',2)
【问题讨论】:
-
你可以试试grphviz4matlab
-
看起来 grphvis4matlab 可以很好地工作。问题是我无法让它工作。我已经安装了 graphviz-2.30.1,并尝试按照网站上的描述进行操作。 Matlab 函数有效,但他们找不到 graphviz 程序。我收到如下消息:“neato”未被识别为内部或外部命令、可运行程序或批处理文件。请安装或升级 graphViz。我相信我的文件位于正确的文件夹中,并且我已尝试重新安装 graphViz。无论如何谢谢=)
-
@user1666357:迟到的回复:我之前看过
gplot函数。我的问题是我没有任何坐标。
标签: matlab graph plot adjacency-matrix