Sto tentando di utilizzare il grafico a torta NVD3 http://nvd3.org/livecode/#codemirrorNav. Ma voglio cambiare il colore predefinito. Come posso cambiare il colore. non sono in grado di farloCome personalizzare il colore nel grafico a torta di NVD3
risposta
Per utilizzare i propri colori, è necessario sovrascrivere i colori esistenti, preferisco non armeggiare con il codice originale.
Quindi questo è quello che ho fatto.
var myColors = ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf"];
d3.scale.myColors = function() {
return d3.scale.ordinal().range(myColors);
};
nv.addGraph(function() {
var chart = nv.models.pieChart()
.x(function(d) { return d.label })
.y(function(d) { return d.value })
.showLabels(true).color(d3.scale.myColors().range());
d3.select("#chart svg")
.datum(data)
.transition().duration(1200)
.call(chart);
return chart;
});
Tutto quello che ho fatto è stato aggiungere .color(d3.scale.myColors().range())
UPDATE :
Controllare risposta da Christopher Chiche, per la soluzione perfetta.
.color(['blue', 'green', 'yellow'])
Spero che questo aiuti.
sto usando questo, ma ho un problema, quando cambio le metriche del grafico e lo ridisegno (con nuovi colori, ho una funzione che calcola i colori in base all'etichetta), il grafico disegna colori sbagliati. quando clicco per mostrare/nascondere alcuni valori, a volte vengono ridisegnati come dovrebbero, a volte vengono ridisegnati in modo errato. Hai qualche idea del perché sia così? Questo succede solo nei grafici a torta. – Nikola
Farò del mio meglio per spiegarlo, ad esempio se hai 5 categorie al caricamento, il grafico prende i primi 5 colori dell'array. Quindi il tuo clour 1 sarà sempre assegnato al primo elemento dei dati. Questo potrebbe non essere il modo migliore, ma provare ad avere una matrice e mappare il colore rispetto alle torte, in modo da poter utilizzare le funzioni onclick sul led e ottenere quali elementi sono attivi e quali no, restituisce un array con le posizioni, puoi usarlo per filtrare i colori che devi passare quando ridisegni il grafico. – shabeer90
no no il problema è che voglio fare smth altro, per esempio ho un insieme di dati con campi diversi in esso per ex. (ip, country, e alcuni altri), quando mostro l'ip metric (ho 4 diversi IP) raggruppo i dati, creo i colori per la torta e li renderizzo. quando cambio da ip metric a country, aggrego di nuovo i dati (ottengo 10 paesi diversi) creo i colori per loro, e poi ridisegno la torta, a prima vista il suo ok, prende i nuovi colori (questi colori non hanno nulla a che fare con i colori della torta ip), ma quando nascondo o mostro parti della torta, vengono mostrati i colori della torta IP – Nikola
È possibile aggiungere colori passando una matrice all'opzione "color()". Quindi aggiungi:
.color(['blue', 'green', 'yellow'])
Se si desidera utilizzare questi colori per 3 elementi.
Nota: se si dispone di più di 3 elementi, alcuni colori verranno utilizzati più volte.
Dove dobbiamo aggiungere color() ;? – GOK
@GOK È necessario aggiungere 'color()' a 'chart'. Quindi dà 'chart.color (['blue', 'green', 'red'])'. –
Se si desidera utilizzare il colore specifico per la torta
chart.color(function(d){
return d.data.color
});
Poi, organizzare i dati come:
[
{
key: "Cumulative Return",
values: [
{
"label": "One",
"value" : 29.765957771107,
"color" : "#8c564b"
} ,
{
"label": "Three",
"value" : 32.807804682612,
"color" : "#e377c2"
}
]
}
]
Grande consiglio, mi ha salvato un po 'di tempo. Grazie. –
Questa è la risposta migliore, ha utilizzato la funzionalità d3 e perché nel mio caso particolare, i valori dei colori sono memorizzati in un database, quindi non posso codificarli sul mio file js come nella risposta di Christopher. – svarog
Ho usato 'return d.color' per farlo funzionare. – rikpg
Ecco una nota che mi ha fatto, stavo installando chart.color interno nv.addGraph, questo non funzionava correttamente e invece utilizzava i valori predefiniti. Poi l'ho impostato al di fuori di questo e ha funzionato bene.
Io uso .color(function(d) {return [d.value > 0 ? 'blue' : 'red']});
per farlo cambiare colore in base al valore dei dati.
Spero che questo aiuti qualcuno.
Ecco la soluzione di dattiloscritto che è simile alla versione di JS. Diciamo che si desidera un Top 10 dei vostri risultati con 10 diversi colori:
Qui ti darò l'esempio che il lavoro per la mia PieChart o MultiBarChart
- creare un array globale del colore come i colori = [ "# D9D9D9", "# 4B11A6", ....];
- I dati deve essere formattato in un oggetto: MyGraph {key: "Titolo", valori: {flussi per spingere}}
- Poi quando si crea la tabella dei dati basta premere il colore per ciascun flusso:
let stream = {}; let data = []; sia io = 0;
dataTable.forEach((period) => {
stream = { 'label': period.key, 'value': period.value, 'color': this.colors[i] };
if(period.value !== 0) {
data.push(stream);}
i++;
});
this.myGraph = data;
Il se la condizione è solo lì per evitare che parte vuota nel grafico
ho usato sotto concetto per aggiungere colore personalizzato:
// for define variable of custom colors
var colors = ["red", "green", "blue"];
...
chart {
color: function(d,i){
return (d.data && d.data.color) || colors[i % colors.length]
}
}
Per colore dinamico sulla base di JSON dati è sufficiente aggiungere New json obj color
come sotto il concetto ..
// or set custom colors directly in the data
data = [{
key: "One",
y: 5,
color: "yellow"
},{
key: "Two",
y: 2,
color: "gray"
},{
key: "Three",
y: 9
},
...
];
- 1. Grafico a torta reattivo con NVD3
- 2. Colore di sfondo per il grafico a torta Jqplot
- 3. angular-nvd3 come cambiare il colore di sfondo del grafico
- 4. Etichette sovrapposte nel grafico a torta
- 5. etichette sovrapposte nel grafico a torta flot
- 6. Come ottenere la percentuale nei tooltip di un grafico a torta nvd3?
- 7. Modifica delle proprietà della linea nel grafico a torta matplotlib
- 8. Come percentuale e conteggio nel grafico a torta SSRS
- 9. Grafico a torta JqPlot - Cambia colori fetta di torta
- 10. Supporta il grafico a torta 3D?
- 11. linea + grafico a dispersione in nvd3
- 12. JasperReport Esempio di grafico a torta
- 13. impossibile completare il cerchio di un grafico a torta
- 14. Come personalizzare il colore dell'interruttore di avvio
- 15. Come mostrare il grafico a torta in Android
- 16. Come rimuovere il bordo bianco dal grafico a torta HighCharts?
- 17. come fare Google grafico a torta api sfondo transperent
- 18. discreti Bar colori Grafico nvd3.js
- 19. highcharts: grafico a torta - riduci il numero di slice
- 20. Grafico a ciambella Highcharts senza torta interna?
- 21. Grafico js - evitare sovrapposizioni di descrizioni comandi nel grafico a torta
- 22. Impossibile analizzare il colore nel grafico a linee (angular-chart.js)
- 23. Visualizzazione Legenda del grafico a torta Google
- 24. Soglia etichetta grafico a torta Highcharts
- 25. NVD3 Cambia il colore del testo dell'etichetta
- 26. Come posso cambiare il testo della legenda nel grafico a torta c3
- 27. Come impostare il tipo di grafico su torta
- 28. Qual è il Remainder nel grafico a torta principale di Eclipse Memory Analyzer?
- 29. Il grafico a torta Highcharts modifica dinamicamente la dimensione
- 30. Come disegnare torta come grafico in Android
Che cosa hai già provato? –