wordpress怎么修改网站标题,合肥专业手机网站哪家好,wordpress增加板块,旅游网站开发1.修改现有图的节点和边 此示例演示如何使用 addedge 、 rmedge 、 addnode 、 rmnode 、 findedge 、 findnode 及 subgraph 函数访问和修改 graph 或 digraph 对象中的节点和/或边。 1.1 添加节点 创建一个包含四个节点和四条边的图。s 和 t 中的对应元素用于指定每条…1.修改现有图的节点和边 此示例演示如何使用 addedge 、 rmedge 、 addnode 、 rmnode 、 findedge 、 findnode 及 subgraph 函数访问和修改 graph 或 digraph 对象中的节点和/或边。 1.1 添加节点 创建一个包含四个节点和四条边的图。s 和 t 中的对应元素用于指定每条图边的结束节点。 s [1 1 1 2]; t [2 3 4 3]; G graph(s,t) G graph with properties: Edges: [4x1 table] Nodes: [4x0 table] 查看图的边列表。 G.Edges ans4×1 table EndNodes ________ 1 2 1 3 1 4 2 3 使用 addnode 向图中添加五个节点。该命令将添加五个节点 ID 分别为 5 、 6 、 7 、 8 和 9 的不相连节点。 G addnode(G,5) G graph with properties: Edges: [4x1 table] Nodes: [9x0 table] 1.2 删除节点 使用 rmnode 从图中删除节点 3、5 和 6。与其中一个已删除节点相连的所有边也会被删除。对图中剩余的六个节点重新进行编号以反映新的节点数量。 G rmnode(G,[3 5 6]) G graph with properties: Edges: [2x1 table] Nodes: [6x0 table] 1.3 添加边 使用 addedge 向 G 添加两条边。第一条边位于节点 1 和节点 5 之间第二条边位于节点 2 和节点 5 之间。该命令将向 G.Edges 添加两个新行。 G addedge(G,[1 2],[5 5]) G graph with properties: Edges: [4x1 table] Nodes: [6x0 table] 1.4 删除边 使用 rmedge 删除节点 1 和节点 3 之间的边。该命令将从 G.Edges 中删除一个行。 G rmedge(G,1,3) G graph with properties: Edges: [3x1 table] Nodes: [6x0 table] 1.5 确定边索引 确定节点 1 和 5 之间的边的边索引。边索引 ei 是 G.Edges 中的行号。 ei findedge(G,1,5) ei 2 1.6 确定节点索引 在图中添加节点名称然后确定节点 d 的节点索引。数值节点索引 ni 是 G.Nodes 中的行号。使用其他图函数例如 shortestpath 时可以同时使用 ni 和节点名称 d 来表示节点。 G.Nodes.Name { a b c d e f }; ni findnode(G, d ) ni 4 1.7 提取子图 使用 subgraph 提取仅包含两个节点的图部分。 H subgraph(G,[1 2]) H graph with properties: Edges: [1x1 table] Nodes: [2x1 table] 查看子图的边列表。 H.Edges anstable EndNodes ______________ {a} {b} 1.8 通过变量编辑器修改节点和边表格 图对象的节点和边信息包含在 Nodes 和 Edges 这两个属性中。这两个属性都是包含变量的表用于说明图中的节点和边的特性。由于 Nodes 和 Edges 都是表因此您可以使用变量编辑器以交互方式查看或编辑这些表。您不能使用变量编辑器添加或删除节点或边也不能编辑 Edges 表的 EndNodes 属性。变量编辑器适用于管理 Nodes 和 Edges 表中的额外节点和边属性。 2.添加图节点名称、边权重和其他属性 此示例演示如何向使用 graph 和 digraph 创建的图中的节点和边添加属性。当您最初调用 graph 或digraph 来创建图时可以指定节点名称或边权重。但是此示例演示了如何在创建图后向图添加属性。 2.1 创建图 创建一个有向图。s 和 t 中的对应元素用于定义图中每条边的源节点和目标节点。 s [1 1 2 2 3]; t [2 4 3 4 4]; G digraph(s,t) G digraph with properties: Edges: [5x1 table] Nodes: [4x0 table] 2.2 添加节点名称 通过将变量 Name 添加到 G.Nodes 表中来向图中添加节点名称。 Name 变量必须指定为 N × 1 字符向量元胞数组或字符串数组其中 N numnodes(G) 。添加节点名称时请务必使用 Name 变量因为该变量名称会被一些图函数进行特殊处理。 G.Nodes.Name { First Second Third Fourth }; 查看新的 Nodes 表。 G.Nodes ans4×1 table Name __________ {First } {Second} {Third } {Fourth} 使用表索引查看节点 1 和 4 的名称。 G.Nodes.Name([1 4]) ans 2x1 cell {First } {Fourth} 2.3 添加边权重 通过将变量 Weight 添加到 G.Edges 表中来向图添加边权重。 Weight 变量必须是 M×1 数值向量其中 M numedges(G) 。添加边权重时请务必使用 Weight 变量因为该变量名称会被一些图函数进行特殊处理。 G.Edges.Weight [10 20 30 40 50]; 查看新的 Edges 表。 G.Edges ans5×2 table EndNodes Weight ________________________ ______ {First } {Second} 10 {First } {Fourth} 20 {Second} {Third } 30 {Second} {Fourth} 40 {Third } {Fourth} 50 使用表索引查看 G.Edges 的第一行和第三行。 G.Edges([1 3],:) ans2×2 table EndNodes Weight ________________________ ______ {First } {Second} 10 {Second} {Third } 30 2.4 添加自定义属性 原则上您可以将任何变量添加到 G.Nodes 和 G.Edges 中来定义图节点或边的属性。添加自定义属性很有用因为 subgraph 和 reordernodes 之类的函数可以保留图属性。例如可以向 G.Edges 添加名为 Power 的变量来指示每条边是 on 还是 off。G.Edges.Power { on on on off off }; G.Edges ans5×3 table EndNodes Weight Power ________________________ ______ _______ {First } {Second} 10 {on } {First } {Fourth} 20 {on } {Second} {Third } 30 {on } {Second} {Fourth} 40 {off} {Third } {Fourth} 50 {off} 向 G.Nodes 添加名为 Size 的变量来指示每个节点的实际大小。 G.Nodes.Size [10 20 10 30]; G.Nodes ans4×2 table Name Size __________ ____ {First } 10 {Second} 20 {Third } 10 {Fourth} 30 2.5 为图论图的节点和边添加标签 绘制图时您可以使用 G.Nodes 和 G.Edges 中的变量为图节点和边添加标签。这种做法很方便因为已经确保这些变量具有正确数量的元素。 绘制图并使用 G.Edges 中的 Power 变量为边添加标签。使用 G.Nodes 中的 Size 变量为节点添加标签。 p plot(G, EdgeLabel ,G.Edges.Power, NodeLabel ,G.Nodes.Size) p GraphPlot with properties: NodeColor: [0 0.4470 0.7410] MarkerSize: 4 Marker: o EdgeColor: [0 0.4470 0.7410] LineWidth: 0.5000 LineStyle: - NodeLabel: {10 20 10 30} EdgeLabel: {on on on off off} XData: [2 1.5000 1 2] YData: [4 3 2 1] ZData: [0 0 0 0] Show all properties 3.图的绘制和自定义 此示例演示如何绘制图然后自定义显示内容以向图节点和边添加标签或高亮显示。 3.1 绘图对象 使用 plot 函数绘制 graph 和 digraph 对象。默认情况下 plot 会检查图的大小和类型以确定要使用的布局。生成的图窗窗口不包含轴刻度线。但是如果使用 XData 、 YData 或 ZData 名称-值对组指定节点的 (x,y) 坐标图窗将包含轴刻度线。 节点数不超过 100 的图会自动包含节点标签。节点标签使用节点名称如果可用否则标签为数值节点索引。 例如使用巴基球邻接矩阵创建一个图然后使用所有的默认选项绘制该图。如果您调用 plot 并指定输出参数则此函数将返回 GraphPlot 对象的句柄。随后您可以使用该对象调整绘图的属性。例如可以更改边的颜色或样式、节点的大小和颜色等。 G graph(bucky); p plot(G) p GraphPlot with properties: NodeColor: [0 0.4470 0.7410] MarkerSize: 4 Marker: o EdgeColor: [0 0.4470 0.7410] LineWidth: 0.5000 LineStyle: - NodeLabel: {1x60 cell} EdgeLabel: {} XData: [0.1033 1.3374 2.2460 1.3509 0.0019 -1.0591 -2.2901 -2.8275 -1.9881 -0.8836 1.5240 0.4128 0.6749 1.9866 2.5705 3.3263 3.5310 3.9022 3.8191 3.5570 1.5481 2.6091 1.7355 0.4849 0.2159 -1.3293 -1.2235 -2.3934 -3.3302 -2.4370 2.4601 ... ] YData: [-1.8039 -1.2709 -2.0484 -3.0776 -2.9916 -0.9642 -1.2170 0.0739 1.0849 0.3856 0.1564 0.9579 2.2450 2.1623 0.8879 -1.2600 0.0757 0.8580 -0.4702 -1.8545 -3.7775 -2.9634 -2.4820 -3.0334 -3.9854 -3.2572 -3.8936 -3.1331 -2.2357 -2.4880 ... ] 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 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 0 0 0 0] Show all properties 获得 GraphPlot 对象的句柄后便可以使用点索引访问或更改属性值。有关您可以调整的属性的完整列表请参阅 GraphPlot 属性。将 NodeColor 的值更改为 red 。 p.NodeColor red ; 确定边的线宽。 p.LineWidth ans 0.5000 3.2 创建并绘制图 创建并绘制一个表示 L 形膜的图L 形膜是基于一侧有 12 个节点的方形网格构建的。使用 plot 指定输出参数以返回 GraphPlot 对象的句柄。 n 12; A delsq(numgrid( L ,n)); G graph(A, omitselfloops ) G graph with properties: Edges: [130x2 table] Nodes: [75x0 table] p plot(G) p GraphPlot with properties: NodeColor: [0 0.4470 0.7410] MarkerSize: 4 Marker: o EdgeColor: [0 0.4470 0.7410] LineWidth: 0.5000 LineStyle: - NodeLabel: {1x75 cell} EdgeLabel: {} XData: [-2.5225 -2.1251 -1.6498 -1.1759 -0.7827 -2.5017 -2.0929 -1.6027 -1.1131 -0.7069 -2.4678 -2.0495 -1.5430 -1.0351 -0.6142 -2.4152 -1.9850 -1.4576 -0.9223 -0.4717 -2.3401 -1.8927 -1.3355 -0.7509 -0.2292 -2.2479 -1.7828 -1.1871 -0.5239 ... ] YData: [-3.5040 -3.5417 -3.5684 -3.5799 -3.5791 -3.0286 -3.0574 -3.0811 -3.0940 -3.0997 -2.4191 -2.4414 -2.4623 -2.4757 -2.4811 -1.7384 -1.7570 -1.7762 -1.7860 -1.7781 -1.0225 -1.0384 -1.0553 -1.0568 -1.0144 -0.2977 -0.3097 -0.3229 -0.3152 ... ] 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Show all properties 3.3 更改图节点的布局 使用 layout 函数更改绘图中的图节点的布局。不同的布局选项会自动计算绘图的节点坐标。或者可以使用 GraphPlot 对象的 XData 、 YData 和 ZData 属性来指定您自己的节点坐标。不使用默认的二维布局方法而是使用 layout 来指定 force3 布局三维力导向图布局。 layout(p, force3 ) view(3) 3.4 按比例对节点着色 根据图节点的出入度为它们着色。在该图中所有内部节点都具有最大度数 4沿图边的节点的度数为 3角节点具有最小度数 2。将该节点着色数据存储为 G.Nodes 中的变量 NodeColors 。 G.Nodes.NodeColors degree(G); p.NodeCData G.Nodes.NodeColors; colorbar 3.5 按权重列出的边线宽度 向图边添加一些随机整数权重然后绘制这些边使它们的线宽与权重成比例。由于约大于 7 的边线宽度开始变得很复杂因此缩放线宽使权重最大的边的线宽为 7。将该边宽数据存储为 G.Edges 中的变量LWidths 。 G.Edges.Weight randi([10 250],130,1); G.Edges.LWidths 7*G.Edges.Weight/max(G.Edges.Weight); p.LineWidth G.Edges.LWidths; 3.6 提取子图 提取 G 的右上角并将其作为子图绘制以更便于读取图上的详细信息。新图 H 从 G 继承 NodeColors 和 LWidths 变量因此最直接的方式就是重新创建之前的绘图自定义项。但是系统会对 H 中的节点重新进行编号以将图中的新节点编号考虑在内。 H subgraph(G,[1:31 36:41]); p1 plot(H, NodeCData ,H.Nodes.NodeColors, LineWidth ,H.Edges.LWidths); colorbar 3.7 为节点和边添加标签 使用 labeledge 对宽度大于 6 的边添加标签 Large 。 labelnode 函数以相似的方式为节点添加标签。 labeledge(p1,find(H.Edges.LWidths 6), Large ) 3.8 突出显示最短路径 查找子图 H 中节点 11 与节点 37 之间的最短路径。以红色高亮显示沿此路径的边并增大路径的结束节点的大小。 path shortestpath(H,11,37) path 1×10 11 12 17 18 19 24 25 30 36 37 highlight(p1,[11 37]) highlight(p1,path, EdgeColor , r ) 删除节点标签和颜色栏并使所有节点都变成黑色。 p1.NodeLabel {}; colorbar off p1.NodeColor black ; 查找忽略边权重的其他最短路径。以绿色突出显示此路径。 path2 shortestpath(H,11,37, Method , unweighted ) path2 1×10 11 12 13 14 15 20 25 30 31 37 highlight(p1,path2, EdgeColor , g ) 3.9 绘制大图 创建包含数十万个甚至数百万个节点和/或边的图是很常见的。为此plot 处理大图会略有不同以保持可读性和性能。处理节点超过 100 个的图时 plot 函数会进行以下调整 1 默认的图布局方法始终为 subspace 。 2 不会再自动为这些节点添加标签。 3 MarkerSize 属性设置为 2 。较小的图的标记大小为 4 。 4 有向图的 ArrowSize 属性设置为 4 。较小的有向图使用的箭头大小为 7 。