Sto lavorando con NVD3 per creare una carta sunburst. Sono nuovo a D3 in generale, quindi sto usando NVD3 per astrarre alcune delle cose più complicate. In questo momento sto lavorando con un semplice esempio che ho ottenuto dal web, ma sto cercando di colorare i nodi (archi) in base all'attributo size
nel JSON. So che NVD3 ha la possibilità di utilizzare una funzione color
nelle opzioni del grafico ed è quello che ho cercato di usare in questo modo:Colorare ogni arco di sunburst in base al valore di dimensione
chart: {
type: 'sunburstChart',
height: 450,
color: function(d) {
if (d.size > 3000) {
return "red";
} else if (d.size <= 3000) {
return "green";
} else {
return "gray";
}
},
duration: 250
}
Ma come si può vedere dalla plunker sto lavorando che si traduce in appena grigio , perché in realtà non sta ottenendo un valore da d.size
(è solo indefinito e non sono sicuro del perché).
Utilizzando D3 regolare che sto cercando di evitare, posso ottenere il risultato volontà da questa:
var path = g.append("path")
.attr("class","myArc")
.attr("d", arc)
.attr("name",function(d){return "path Arc name " + d.name;})
.style("fill", function(d) {
if(d.size > 3000) {
return "green";
} else if(d.size < 3000){
return "red";
} else {
return "gray";
}
})
.on("click", click)
... //etc
avevo modificato un regolare esempio raggiera D3 per ottenere che, con il risultato desiderato:
So che le etichette sono sollevate ma non è importante qui. Mi piacerebbe ottenere lo stesso risultato del normale D3 ma con l'astrazione di NVD3. Non ho trovato nessun buon esempio che menzioni l'utilizzo del color: function()
. Grazie in anticipo.
Nizza. Questo è molto vicino a quello che sto cercando, ma mi chiedo perché i valori mostrati nei tooltip ora siano tutti solo 1 invece dei loro veri valori. Inoltre, qualsiasi idea del perché ci sia un arco bianco lì dentro ora. C'era uno chiamato 'data' nella sua posizione. la stessa cosa accade se aggiungete altri nodi figli ad alcune delle foglie (crea genitori bianchi che non sono cliccabili) Come in questo plunker [qui] (http://plnkr.co/edit/Vmg0pN?p=preview) . Nota il lato in alto a sinistra dello sprazzo di sole e lo stesso in alto a destra nell'esempio. – erp
Okay, i problemi con il valore erano perché il grafico era impostato per contare piuttosto che per la dimensione (mi dispiace :)) ma sto ancora cercando di trovare una soluzione per gli archi bianchi che appaiono. Il problema deriva sicuramente dal momento in cui aggiungo le librerie javascript. La colorazione non funziona senza di loro, ma quando li aggiungo i lavori di colorazione, ma compaiono gli archi bianchi. – erp
Le librerie javascript in cdn non supportano '" groupColorByParent ": false' solo le librerie in github dist wrk. per quanto riguarda la cosa bianca non so che puoi vedere lo stesso problema nella loro demo http://krispo.github.io/angular-nvd3/#/sunburstChart – Cyril