Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Agregar nombres de nodo de gráfico, ponderaciones de arista y otros atributos

En este ejemplo se muestra cómo agregar atributos a los nodos y bordes en gráficos creados mediante y.graphdigraph Puede especificar nombres de nodo o ponderaciones de arista cuando llama originalmente o para crear un gráfico.graphdigraph Sin embargo, en este ejemplo se muestra cómo agregar atributos a un gráfico después de haberlo creado.

Crear gráfico

Cree un grafo dirigido. Los elementos correspondientes en y definen los nodos de origen y de destino de cada arista en el gráfico.st

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]  

Agregar nombres de nodo

Agregue los nombres de nodo al gráfico agregando la variable, a la tabla.NameG.Nodes La variable debe especificarse como una matriz de vectores de caracteres o matriz de cadenas, donde.NameN1N = numnodes(G) Es importante utilizar la variable al agregar nombres de nodo, ya que este nombre de variable es tratado especialmente por algunas funciones de gráfico.Name

G.Nodes.Name = {'First' 'Second' 'Third' 'Fourth'}';

Vea la nueva tabla.Nodes

G.Nodes
ans=4×1 table
      Name  
    ________

    'First' 
    'Second'
    'Third' 
    'Fourth'

Utilice la indexación de tablas para ver los nombres de los nodos 1 y 4.

G.Nodes.Name([1 4])
ans = 2x1 cell array
    {'First' }
    {'Fourth'}

Añadir pesos de arista

Añada pesos de arista al gráfico añadiendo la variable, a la tabla.WeightG.Edges La variable debe ser un vector numérico de-por-1, donde.WeightMM = numedges(G) Es importante utilizar la variable al agregar pesos de arista, ya que este nombre de variable es tratado especialmente por algunas funciones de gráfico.Weight

G.Edges.Weight = [10 20 30 40 50]';

Vea la nueva tabla.Edges

G.Edges
ans=5×2 table
          EndNodes          Weight
    ____________________    ______

    'First'     'Second'      10  
    'First'     'Fourth'      20  
    'Second'    'Third'       30  
    'Second'    'Fourth'      40  
    'Third'     'Fourth'      50  

Utilice la indexación de tablas para ver la primera y la tercera fila de.G.Edges

G.Edges([1 3],:)
ans=2×2 table
          EndNodes          Weight
    ____________________    ______

    'First'     'Second'      10  
    'Second'    'Third'       30  

Agregar atributos personalizados

En principio, puede agregar cualquier variable a y que define un atributo de los nodos de gráfico o aristas.G.NodesG.Edges Agregar atributos personalizados puede ser útil, ya que funciones como y conservan los atributos del gráfico.subgraphreordernodes

Por ejemplo, agregue una variable denominada para indicar si cada arista es o.PowerG.Edges'on''off'

G.Edges.Power = {'on' 'on' 'on' 'off' 'off'}'; G.Edges
ans=5×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'

Agregue una variable denominada para indicar el tamaño físico de cada nodo.SizeG.Nodes

G.Nodes.Size = [10 20 10 30]'; G.Nodes
ans=4×2 table
      Name      Size
    ________    ____

    'First'      10 
    'Second'     20 
    'Third'      10 
    'Fourth'     30 

Modificar tablas con el editor de variables

Puesto que y son ambas tablas, puede utilizar el editor de variables para ver o editar las tablas de forma interactiva.NodesEdges Para obtener más información, consulte.Crear y editar variables

Etiquetar nodos y aristas de gráfica de gráfico

Al trazar un gráfico, puede utilizar las variables en y para etiquetar los nodos de gráfico y los bordes.G.NodesG.Edges Esta práctica es conveniente, ya que estas variables ya están garantizadas para tener el número correcto de elementos.

Trace el gráfico y etiquete los bordes utilizando la variable en.PowerG.Edges Etiquete los nodos utilizando la variable en.SizeG.Nodes

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  

Consulte también

|

Temas relacionados