主要内容

图绘制和定制

这个例子展示了如何绘制图表,然后自定义显示添加标签或突出节点和边的图。

图绘图对象

使用情节函数图有向图对象。默认情况下,情节检查图的大小和类型来确定使用哪个布局。结果图窗口不包含轴刻度线。然而,如果你指定(x, y)节点的坐标XData,YData,或ZData名称-值对,那么图包括轴蜱虫。

节点标签包含自动块图中有100个或更少的节点。节点标签使用节点名(如果有);否则,标签数字节点指标。

例如,创建一个使用巴基球邻接矩阵图,然后画出图使用默认选项。如果你叫情节并指定一个输出参数,那么函数将返回一个句柄GraphPlot对象。随后,您可以使用该对象调整属性的阴谋。例如,你可以改变颜色或样式的边缘,节点的大小和颜色,等等。

图G =(巴基);p =情节(G)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

p = GraphPlot属性:NodeColor: 0.4470 - 0.7410 [0] MarkerSize: 4标记:“o”EdgeColor:[0 0.4470 - 0.7410]线宽:0.5000线型:”——“NodeLabel: {1} x60细胞EdgeLabel: {} XData: [0.1033 1.3374 2.2460 1.3509 0.0019 -1.0591 -2.2901……]YData: [-1.8039 -1.2709 -2.0484 -3.0776 -2.9916 -0.9642 -1.2170……]ZData: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…)显示所有属性

你有一个句柄GraphPlot对象,使用点索引来访问或改变属性值。属性的完整列表,您可以调整,明白了GraphPlot属性

变化的值NodeColor“红色”

p。NodeColor =“红色”;

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

确定边缘的线宽。

p.LineWidth
ans = 0.5000

创建和图

创建和绘制图代表一个l型膜由一个正方形网格的12个节点。指定一个输出参数情节返回一个句柄GraphPlot对象。

n = 12;一个= delsq (numgrid (“L”,n));图G = (,“omitselfloops”)
图G =属性:边缘:[130 x2表]节点:[75 x0表)
p =情节(G)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

p = GraphPlot属性:NodeColor: 0.4470 - 0.7410 [0] MarkerSize: 4标记:“o”EdgeColor:[0 0.4470 - 0.7410]线宽:0.5000线型:”——“NodeLabel: {1} x75细胞EdgeLabel: {} XData: [-2.5225 -2.1251 -1.6498 -1.1759 -0.7827 -2.5017 -2.0929……]YData: [-3.5040 -3.5417 -3.5684 -3.5799 -3.5791 -3.0286 -3.0574……]ZData: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…)显示所有属性

更改图节点布局

使用布局函数改变图中节点的布局图。不同的布局选项自动计算节点坐标的阴谋。此外,您可以指定自己的节点坐标XData,YData,ZData的属性GraphPlot对象。

而不是使用默认的二维布局方法,使用布局指定“force3”布局,这是一个三维力导向布局。

布局(p,“force3”)视图(3)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

成比例的节点着色

颜色图节点根据自己的程度。在这个图中,所有的内部节点有相同的最大程度的4,沿边界节点的图有3度,和角落节点2的最小的程度。存储这个节点颜色数据的变量NodeColorsG.Nodes

G.Nodes。NodeColors =学位(G);p。NodeCData = G.Nodes.NodeColors;colorbar

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

边缘线宽的重量

添加一些随机整数权重图的边缘,然后绘制边缘,这样他们的线宽与体重成正比。从一个边缘线宽约大于7开始变得繁琐,刻度线宽度,这样体重最大的边缘的线宽7。存储这条边宽度数据变量LWidthsG.Edges

G.Edges。重量=兰迪(130年[250],1);G.Edges。LWidths= 7*G.Edges.Weight/max(G.Edges.Weight); p.LineWidth = G.Edges.LWidths;

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

提取子图

提取和情节的右上角G子图,使它更容易阅读的细节图。新的图,H,继承了NodeColorsLWidths变量G,以便重新创建前面的情节很简单的定制。然而,节点H重新编号为新的图中节点的数量。

H =子图(G, [1:31 36:41]);p1 =情节(H,“NodeCData”H.Nodes.NodeColors,“线宽”,H.Edges.LWidths);colorbar

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

标签节点和边

使用labeledge标签边缘的宽度大于6的标签,“大”。的labelnode函数在标签节点的相似的方式工作。

labeledge (p1,找到(H.Edges。LWidths > 6),“大”)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

突出最短路径

发现11节点和节点之间的最短路径子图37,H。用红色突出边缘沿着这条路径,和增加的大小结束节点的路径。

路径= shortestpath (37) H, 11日
路径=1×1011 12 17 18 19 24 25 30 36 37
突出(p1, 37[11])突出(p1,路径,“EdgeColor”,“r”)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

删除节点标签和colorbar,使所有的黑色节点。

p1。NodeLabel = {};colorbarp1。NodeColor =“黑”;

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

找到一个不同的最短路径,忽略了边。用绿色突出显示这条道路。

37 path2 = shortestpath (H, 11日,“方法”,“减重”)
path2 =1×1011 12 13 14 15 20 25 30 31 37
突出(p1, path2,“EdgeColor”,‘g’)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

策划大型图表

共同创建图表,有成千上万,甚至上百万的节点和/或边缘。由于这个原因,情节对待大型图略有不同保持可读性和性能。的情节函数使这些调整使用图表时,有超过100个节点:

  1. 总是默认图布局方法“子”

  2. 节点不再自动标记。

  3. MarkerSize属性设置为2。(小图形标记的大小4)。

  4. ArrowSize指示图设置的属性4。(较小的定向图使用一个箭头的大小7)。

另请参阅

|||

相关的话题