Ho implementato il layout della forza di d3. Il problema però per me è che il layout non si sta diffondendo sullo schermo. In seguito è l'istantanea:Distanza di collegamento dinamico in configurazione forza D3
Voglio i nodi per diffondere attraverso lo schermo con la distanza di collegamento dinamico in quanto v'è molto spazio bianco sul lato destro e sinistro. Ho cercato di randomizzare distanza collegamento come segue:
d3.layout.force()
.charge(-800)
.linkDistance(function(d){
return (Math.random() * (400 - 200) + 1);
})
.size([w, h]);
Ciò aumenta la distanza di collegamento, ma anche in direzione verticale. Ho provato a impostare l'attributo linkStrength() ma non ha funzionato per me. Come posso diffondere questo layout nella regione solo in direzione orizzontale? C'è un modo per definire la distanza del collegamento per adattarsi alla regione rettangolare della mia pagina?
Oh e, a proposito, un diagramma di accordi potrebbe adattarsi perfettamente ai tuoi dati, quindi potresti esaminare anche questo (maggiori informazioni [qui] (https://github.com/mbostock/d3/wiki/Chord-Layout)) –
Quando ho associato il disegno come eseguito nell'esempio [riquadro di delimitazione] (http://mbostock.github.io/d3/talk/20110921/bounding.html) e imposta il costo su un valore molto alto, i nodi sono allineati oltre confine e in tal caso se il numero di nodi è molto alto il grafico potrebbe non essere leggibile. C'è un modo in cui posso assegnare posizioni xey specifiche a ciascun nodo mentre il layout viene eseguito in base a qualche condizione per farlo occupare l'intera area? – Nagesh