The following global properties are valid on the nodeLayout and linkLayout objects
of a top-level graph or subgraph:
Propriedade | Descrição |
---|---|
algoritmo | O tipo de layout a ser executado. Valid values are: circular, forcedirected, grid, hierarchical, longlink, random, shortlink, basiclinkstyle, and tree. |
<nome da propriedade global do lado do cliente> | O nome da propriedade na classe de layout do lado do cliente correspondente. Todas as propriedades globais de tipo número, booleano, ponto e retângulo podem ser especificadas. |
Este exemplo configura valores para duas propriedades globais
com um propriedade
forcedirected:
"nodeLayout": { "algorithm":"forcedirected", "preferredLinkLength": 100, "respectNodeSizes": true },
No gráfico postado no servidor, os objetos
nodeLayout e
linkLayout podem estar
presentes em qualquer subgráfico para o qual o cliente deseja que o layout
seja executado. It allows you to mix layout algorithms for different
subgraphs. It also allows you to apply the same algorithm with different
parameters, as in client-side graph layout. A ausência dos objetos
nodeLayout ou
linkLayout para um
determinado gráfico ou subgráfico indica que nenhum layout de nó ou de
link precisa ser executado para este gráfico ou subgráfico.
Restrições de Layout Hierárquico
O HierarchicalLayout do lado do cliente fornece uma API de
customização avançada usando diferentes tipos de restrições. Em JSON, a
propriedade constraints
descreve as restrições em uma matriz, os elementos dos quais são objetos
JSON com as seguintes propriedades:
Propriedade | Descrição |
---|---|
nome | O tipo de restrição. Os valores válidos são: LevelRangeConstraint, GroupSpreadConstraint, RelativeLevelConstraint, ExtremityConstraint, RelativePositionConstraint, SameLevelConstraint, SideBySideConstraint e SwimLaneConstraint. |
<nome da propriedade de restrição do lado do cliente> | O valor da propriedade de restrição. |
Este exemplo descreve uma restrição do tipo
LevelRangeConstraint:
"nodeLayout":{ "algorithm":"hierarchical", "constraints":[ { "name":"LevelRangeConstraint", "minLevel":0, "maxLevel":1, "nodes":[ { "id":"1" }, { "id":"2" } ] } ] ...
Nota
De forma semelhante ao layout do lado do cliente, o
layout do lado do servidor constrói restrições de layout hierárquico de raia (HierarchicalSwimLaneConstraint) automaticamente a partir de
contêineres de tipo SwimLane.
Parâmetros de Armazenamento em Cluster do Layout Circular
O CircularLayout do lado do cliente fornece uma API para
especificação de clusters. Em JSON, a propriedade
clusterIds descreve os
clusters em uma matriz, os elementos dos quais são objetos JSON com as
seguintes propriedades:
Propriedade | Descrição |
---|---|
name ou number | O nome ou número do cluster. A propriedade name, de tipo String, é usada para clusters do lado do cliente identificados pela classe CircularClusterName. A propriedade number, de tipo integer, é usada para clusters do lado do cliente identificados pela classe CircularClusterNumber. |
nós | Matriz que descreve os nós que pertencem ao cluster especificado. Para cada nó, os seguintes atributos são suportados: id, index e starCenter. |
Este exemplo descreve um cluster de tipo
CircularClusterName e um
cluster 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" } ] } ...