在matlab中fowEdges,在matlab中从邻接矩阵创建图形

因此,假设您拥有

bioinformatics toolbox,则传记功能非常适合您想要做的事情.

这是我过去做过的事情:

假设from和to是包含有关系统中的起始节点的信息的两个向量.然后你可以这样创建你的邻接矩阵:

Sys = sparse(from,to,1,s,s);

Adj_mat = tril(Sys + Sys');

我假设您已经有了邻接矩阵adj_mat,在这种情况下,您只需要执行以下操作:

bg = biograph(Adj_mat,[],'ShowArrows','off','ShowWeights','off');

h = view(bg);

我添加了一些参数来说明一些可能性.我想要箭头,跳过那一部分.

默认情况下,节点将根据“最小能量”标准放置,这意味着“分支交叉”的数量被最小化.布局可以更改,例如添加’LayoutType’,’Radial’.

这是我之前使用传记创建的一个例子.使边缘笔直,或为树枝分配不同的颜色和重量很简单.此外,您可以为节点创建不同的名称,或删除名称,而只是在那里有一个“点”.

编辑

作为评论中文森特问题的答案:

我使用set(edge,’LineWidth’,1.5)来设置边缘权重.查看一些其他文档和示例here.

%% Color affected lines:

set(h.nodes(nn),'Color',[0.2 0.8 0.2]);

fowEdges = getedgesbynodeid(h,get(h.Nodes(nn),'ID'));

revEdges = getedgesbynodeid(h,get(h.Nodes(fliplr(nn)),'ID'));

edges = [fowEdges;revEdges];

set(edges,'LineColor',[0.2 0.8 0.2])

set(edges,'LineWidth',1.5)

%% 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值