主要内容

이번역번역이지는최신내용을담고담고않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭

그래프플로팅과사용자지정

이예제에서는그래프를플로팅후표시를사용자지정하여이블을을가하거나그래프그래프노드와그래프간선을강조하는방법을보여보여강조표시방법을보여보여

그래프플로팅객체

阴谋함수를사용용图形객체와dig객체를플로팅합니다。기본적으로,阴谋은그래프의크기와유형을검토하여사용할레이아웃을확인합니다。결과로나타나는图창에는좌표축눈금이없습니다。그러나xdata.ydata.또는Zdata.이름 - 값쌍을사용하여하여노드(x,y)좌표를지정하면图에좌표축눈금이표시표시。

노드가100개이하인그래프의플롯노드이블이자동으로포함됩니다。노드이름이존재하면그이름노드노드이블로사용용,그렇지않으면숫자형노드를를노드이블로照片합니다。

예를들어,버키볼(bucky ball)인접행렬을사용하여그래프만든후모든옵션을사용하여를플로팅합니다。阴谋을호출하고출력인수인수지정하면함수가graphplot.객체에대한핸들을합니다합니다。나중에,이객체를사용하여하여플롯의속성을조정할수예를들어,간선의색이나,노드노드의크기와색색을변경수수

g =图(Bucky);p = plot(g)

p = GraphPlot with properties: NodeColor: [0 0.4470 0.7410] marksize: 4 Marker: 'o' EdgeColor: [0 0.4470 0.7410] LineWidth: 0.5000 linstyle: '-' NodeLabel: {1x60 cell} EdgeLabel: {} XData: [1x60 double] YData: [1x60 double] ZData: [1x60 double]显示所有属性

graphplot.객체객체대한핸들을가져온후에는점인덱싱사용하여하여속성값에액세스변경변경조정조정할수있는있는속성의목록목록GraphPlot속성항목을참조하십시오。

NodeColor의값을'红色的'로로합니다。

p.nodecolor ='红色的';

간선의선너비를합니다합니다。

plinewidth.
ans = 0.5000.

그래프를만들고플로팅하기

한변이12개노드로구성된정사각그리드에서생성된L모양의멤브레인을나타내는그래프를만들고플로팅합니다。阴谋에출력인수를지정하여graphplot.객체에대한핸들을합니다합니다。

n = 12;a = delsq(numgrid(“L”,n));g =图(a,'omitselfloops'
g =具有属性的图形:边缘:[130x2表]节点:[75x0表]
p = plot(g)

P =带有属性的Graphplot:NodeColor:[0 0.4470 0.7410] Markersize:4标记:'O'EDGEColor:[0 0.4470 0.7410] LineWidth:0.5000 linestyle:' - 'nodelabel:{1x75 Cell} Edgelabel:{} xdata:[1x75双] ydata:[1x75双] zdata:[1x75双]显示所有属性

그래프노드레이아웃변경하기

布局함수를사용하여플롯의그래프노드이아웃을아웃을합니다。여러가지레이아웃옵션이플롯의플롯의노드좌표를자동계산계산또는graphplot.객체의xdata.ydata.Zdata.속성을사용하여하여자신만의고유한노드좌표를지정할수노드좌표를지정할수수

디폴2차트원레이아웃메서드를사용하는대신,布局'force3'을지정하여3차원힘——방향레이아웃을지정할수도있습니다。

布局(p,'force3')查看(3)

부분별노드색지정하기

차수차수를기준으로으로그래프노드색을지정지정의색을지정이그래프에서모든내부노드의최대는4로동일하며,그래프그래프를따라노드의차수는3이고,코너노드노드최소차수는2입니다。이노드색지정데이터를G.Nodes.에변수NodeColors.로저장합니다。

g.node.nodecolors =学位(g);p.nodecdata = g.nodes.nodeColors;彩色栏

가중치를를기준으로하는간선간선

일부임의정수가중치를그래프간선에가한후해당선너비가가중치에에비례하는하는간선을플로팅플로팅플로팅대략적으로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;

부분그래프추출하기

G의오른쪽상단코너를그래프로추출하고플로팅하여그래프세부정보를더읽기읽기만듭니다만듭니다。새그래프HG에서NodeColors.변수와lwidths.변수를상속하므로이전사용자지정지정을다시생성하는작업은매우간단간단그러나,그래프그래프의새노드노드를고려H에포함된노드의가다시지정됩니다。

h =子图(g,[1:31 36:41]);p1 = plot(h,'nodecdata',h.node.nodecolors,'行宽', H.Edges.LWidths);彩色栏

노드와간선에레이블지정지정

LabelEdge.를사용하여너비가6.보다큰간선에레이블'大'를지정합니다。LabelNode.함수함수노드에레이블을을지정하는것과사한방법으로동작합니다。

LabelEdge(P1,查找(H.edges.lwidths> 6),'大'

최단경로강조표시하기

부분그래프H에서노드11과노드37사이의최단경로를구합니다。이경로에에있는간선간선을으로강조표시하고경로의끝크기를를크기크기크기를

路径= ShortestPath(H,11,37)
路径=1×1011 12 14 18 19 24 25 30 30 36 37
突出(p1, 37[11])突出(p1,路径,'Edgecolor''r'

노드레이블과과컬러바를제거제거하고모든노드를검은색설정설정설정

p1.nodelabel = {};彩色栏离开p1.nodecolor ='黑色的';

간선가중치를를무시하는하는최단경로를를최단최단경로를를이경로를를녹색으로강조강조표시。

path2 = shortestpath(h,11,37,'方法''unwighted'
path2 =1×1011 12 13 14 15 20 25 30 31 37
突出显示(P1,Path2,'Edgecolor''G'

크기가큰큰그래프플로팅플로팅

00이러한이유로,阴谋은가독성과과성능을을하기위해크기크기크기합니다합니다를를다르게합니다。阴谋함수는100개가넘는노드를가지는그래프로작업할때다음과같은조정을수행

  1. 디폴트그래프레이아웃메서드는항상'子空间'입니다。

  2. 노드에더이상자동자동으로이블이지정되지않습니다。

  3. Markersize.속성이2으로설정됩니다。이보다작은그래프의마커크기는4.입니다。

  4. 유방향그래프의ArrowSize속성이4.로로됩니다。이보다보다작은유방향그래프의의경우크기7.을사용합니다。

참고항목

|||

관련항목