d3.js & nvd3.js asse e l'etichetta di precisione formattazione
Domanda
Utilizzando il grafico ad area in pila come si vede in questo esempio http://nvd3.com/ghpages/stackedArea.html
Il tentativo di formattare l'asse y tick etichette e la descrizione etichette per essere interi, invece di carri allegorici.Provato a cambiare il codice da seguire
chart.yAxis
.axisLabel('Users')
.tickFormat(d3.format(',.2f'));
per
chart.yAxis
.axisLabel('Users')
.tickFormat(d3.format(',.0d'));
Precisione rimane invariato (ancora mostra i valori per la posizione centesimi).Ho seguito il Github Wiki inutilmente https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format
Eventuali suggerimenti o suggerimenti saranno molto graditi.
Soluzione
Sembra questo non è supportato da nvd3 al momento.Vedi di offendere linea.
Inoltre, la specifica di formato non è abbastanza di destra.Come indicato nella documentazione, "d"
ignora i valori non interi.Così, probabilmente si desidera ",.0f"
invece, il che significa che:
,
:utilizzare le virgole per separare le migliaia..0
: precisione di zero (il significato esatto di questo dipende da quale tipo è in uso).f
:Il tipo;in questo caso, Numero.toFixed.Questo significa che un numero fisso di cifre (il precisione) dopo il punto decimale, e il numero è arrotondato, se necessario.
Altri suggerimenti
Questo può formattare il testo dell'etichetta dal galleggiante a Integer.
Per il grafico a torta:
chart.pie.valueFormat(d3.format(',.0d'));
Per il grafico della linea:
chart.yAxisTickFormat(d3.format(',.0d'));
. Il metodo .tickFormat
sul metodo .yAxis
non lo aggiorna correttamente.Questo è il lavoro intorno ho usato:
chart.yAxisTickFormat(d3.format(',.0d'));
. Ho provato come questo
.axisLabel('%').tickFormat(function(d) { return parseFloat(d).toFixed(1) + "%"; });
.
Il suo lavoro per me. Sto ottenendo risultati con punti decimali e percentuale.