Plot 在倍频程中显示有向无环图

Plot 在倍频程中显示有向无环图,plot,graph,octave,Plot,Graph,Octave,我想想象一个八度有向无环图树 在MATLAB中,这是使用biograph()完成的。有等效的八度音阶吗 另外,如何使用Octave的drawgraph()?drawgraph(来自几何体软件包)接受: “节点”矩阵,其中每一行是一组坐标,表示单个节点 “边”矩阵,其中每行表示两个节点之间的边,其中节点从“节点”矩阵中的对应行以数字方式标识 例如: pkg载荷几何; 节点=[0,-1; 1, 0; 0, 1; -1, 0]; 边=[1,2; 2, 3; 3, 4; 1, 3; 2, 4]

我想想象一个八度有向无环图树

在MATLAB中,这是使用
biograph()
完成的。有等效的八度音阶吗

另外,如何使用Octave的
drawgraph()

drawgraph
(来自
几何体
软件包)接受:

  • “节点”矩阵,其中每一行是一组坐标,表示单个节点
  • “边”矩阵,其中每行表示两个节点之间的边,其中节点从“节点”矩阵中的对应行以数字方式标识
例如:

pkg载荷几何;
节点=[0,-1;
1,  0;
0,  1;
-1,  0];
边=[1,2;
2, 3;
3, 4;
1, 3;
2, 4];
g=绘图图(节点、边);
设置(g,'markerfacecolor','g','markersize',50',线宽',5);

然而,这实际上只是带有标记的线的集合。您可以在一个简单的循环中使用简单的
line
plot
命令(或者
quivel
如果您还需要箭头),轻松地复制这一点。如果您希望节点具有不同的形状、颜色、文本等,这可能更可取

下面是一个手动示例:

节点(1)=结构('coords',[0,-1],'shape','o','text','Node 1','facecolor','k','edgecolor','r','textcolor','g','size',75);
节点(2)=结构('coords',[1,0],'shape','d','text','Node 2','facecolor','r','edgecolor','g','textcolor','b','size',100);
节点(3)=结构('coords',[0,1],'形状'、's'、'text'、'Node 3'、'facecolor'、'g'、'edgecolor'、'b'、'textcolor'、'k'、'size',75);
节点(4)=struct('coords',[-1,0],'shape','p','text','Node 4','facecolor','b','edgecolor','k','textcolor','r','size',150);
节点层=轴();
等等
对于i=节点
节点=绘图(i.coords(1),i.coords(2));
设置(节点,'marker',i.shape,'markerfacecolor',i.facecolor,'markeredgecolor',i.edgecolor','markersize',i.size',linewidth',5);
结束
拖延;轴断开;
集合(NodesLayer,'xlim',[-1.5,1.5],'ylim',[-1.5,1.5]);
TextLayer=轴(“颜色”、“无”);
对于i=节点
Text=Text(i.coords(1)-0.16,i.coords(2),i.Text);
设置(文本,'color',i.textcolor,'fontsize',12,'fontwweight','bold');
结束
拖延;轴断开;
集合(TextLayer,'xlim',[-1.5,1.5],'ylim',[-1.5,1.5]);
边=[1,2;2,3;3,4;4,1;2,1;4,3;1,3;3,1];
EdgesLayer=轴('颜色','无')
等等
对于E=边。”
i=E(1);j=E(2);
u=[节点(j).坐标(1)-节点(i).坐标(1)];
v=[节点(j).坐标(2)-节点(i).坐标(2)];
x=节点(i).坐标(1)+u*0.25;
y=节点(i).坐标(2)+v*0.25;
Q=颤动(x,y,u*0.5,v*0.5,0.1);
设置(Q'线宽',3'颜色',k');
结束
拖延;轴断开;
集合(EdgesLayer,'xlim',[-1.5,1.5],'ylim',[-1.5,1.5]);

这有助于解决我的问题。但是我想从矩阵中改变图形。将COLLMN作为节点Y,将行作为节点X,将矩阵值作为边的宽度。例如,我想显示matlab矩阵中的graf K=[03 4;02;00 0;matlab中的K=[03 4;02;00 0 0];视图(在matlab中工作但在八度音程中不工作的biograph(K,[],'ShowArrows','off','ShowWeights','on')。我必须做些什么来解决这个问题