Propiedades globales

Las siguientes propiedades globales son válidas en los objetos nodeLayout y linkLayout de un gráfico o subgráfico de nivel superior:
Propiedad Descripción
algorithm Tipo de diseño que se va a ejecutar. Los valores válidos son: circular, forcedirected, grid, hierarchical, longlink, random, shortlink, basiclinkstyle y tree.
<nombre de propiedad global del cliente> Nombre de la propiedad en la clase de diseño en el cliente correspondiente. Pueden especificarse todas las propiedades globales de tipo number, boolean, point y rectangle.
En este ejemplo se establecen los valores de dos propiedades globales con un diseño forcedirected:
"nodeLayout": {
	"algorithm":"forcedirected", 
	"preferredLinkLength": 100,
	"respectNodeSizes": true
},
En el gráfico publicado en el servidor, los objetos nodeLayout y linkLayout pueden estar presentes en cualquier subgráfico para el que el cliente desee que se ejecute el diseño. Le permite combinar algoritmos de diseño para distintos subgráficos. También permite aplicar el mismo algoritmo con parámetros diferentes, como en el diseño de gráficos en el cliente. La ausencia de los objetos nodeLayout o linkLayout para un gráfico o subgráfico determinado indica que no debe ejecutarse ningún diseño de nodos o enlaces para este gráfico o subgráfico.

Restricciones del diseño jerárquico

El Diseño jerárquico en el cliente proporciona una API de personalización avanzada utilizando distintos tipos de restricciones. En JSON, la propiedad constraints describe las restricciones en una matriz, cuyos elementos son objetos JSON con las siguientes propiedades:
Propiedad Descripción
name Tipo de restricción. Los valores válidos son: LevelRangeConstraint, GroupSpreadConstraint, RelativeLevelConstraint, ExtremityConstraint, RelativePositionConstraint, SameLevelConstraint, SideBySideConstraint y SwimLaneConstraint.
<nombre de propiedad de restricción del cliente> Valor de la propiedad de restricción.
En este ejemplo se describe una restricción del tipo LevelRangeConstraint:
"nodeLayout":{
      "algorithm":"hierarchical",
      "constraints":[
         {
            "name":"LevelRangeConstraint",
            "minLevel":0,
            "maxLevel":1,
            "nodes":[
               {
                  "id":"1"
               },
               {
                  "id":"2"
               }
            ]
         }
      ]
          ...
Nota
De forma parecida al diseño en el cliente, el diseño en el servidor crea restricciones de carril del diseño jerárquico (HierarchicalSwimLaneConstraint) automáticamente a partir de los contenedores de tipo SwimLane.

Parámetros de agrupación en clúster del diseño circular

El Diseño circular en el cliente proporciona una API para especificar clústeres. En JSON, la propiedad clusterIds describe los clústeres en una matriz, cuyos elementos son objetos JSON con las siguientes propiedades:
Propiedad Descripción
name o number Nombre o número del clúster. La propiedad name, de tipo String, la utilizan los clústeres del cliente identificados por la clase CircularClusterName. La propiedad number, de tipo integer, la utilizan los clústeres del cliente identificados por la clase CircularClusterNumber.
nodes Matriz que describe los nodos que pertenecen al clúster especificado. Para cada nodo, se admiten los atributos siguientes: id, index y starCenter.
En este ejemplo se describe un clúster de tipo CircularClusterName y un clúster de tipo CircularClusterNumber:
"nodeLayout":{
      "algorithm":"circular",
      "clusterIds":[
         {
            "name":"first cluster",
            "nodes":[
               {
                  "id":"174",
		      "index":33,
                  "starCenter":true
               },
               {
                  "id":"190"
               }
            ]
         },
        {
            "number":2,
            "nodes":[
               {
                  "id":"179"
               },
               {
                  "id":"187"
               }
            ]
         }
    ...