d3.js und nvd3.formatierung der js-Achsen- und Beschriftungsgenauigkeit
Frage
Verwenden des gestapelten Flächendiagramms wie in diesem Beispiel gezeigt http://nvd3.com/ghpages/stackedArea.html
Es wird versucht, die Tick-Beschriftungen der y-Achse und die Tooltip-Beschriftungen als Ganzzahlen anstelle von Gleitkommazahlen zu formatieren.Es wurde versucht, den folgenden Code von zu ändern
chart.yAxis
.axisLabel('Users')
.tickFormat(d3.format(',.2f'));
zu
chart.yAxis
.axisLabel('Users')
.tickFormat(d3.format(',.0d'));
Die Genauigkeit bleibt unverändert (zeigt immer noch Werte bis zur Hundertstel Stelle an).Ich bin dem Github-Wiki ohne Erfolg gefolgt https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format
Anregungen oder Hinweise werden sehr geschätzt.
Lösung
Sieht aus wie dies wird von nvd3 nicht unterstützt momentan.Sehen Sie die Beleidigung Linie.
Außerdem stimmt Ihre Formatspezifikation nicht ganz.Wie in der Dokumentation erwähnt, "d"
ignoriert nicht ganzzahlige Werte.Also willst du wahrscheinlich ",.0f"
stattdessen, was bedeutet:
,
:verwenden Sie Kommas, um Tausende zu trennen..0
: Präzision von Null (die genaue Bedeutung davon hängt davon ab, welche Art in Gebrauch ist).f
:Der Art;in diesem Fall, Zahl.zufixiert.Dies bedeutet eine feste Anzahl von Ziffern (die Präzision) wird nach dem Dezimalpunkt angezeigt, und die Zahl wird bei Bedarf gerundet.
Andere Tipps
Dieser kann Etikettentext von Float in Ganzzahl formatieren.
für Kreisdiagramm:
chart.pie.valueFormat(d3.format(',.0d'));
für Liniendiagramm: generasacodicetagpre.
Der .tickFormat
methode auf der .yAxis
methode aktualisiert es nicht richtig.Dies ist die Arbeit, die ich verwendet habe:
chart.yAxisTickFormat(d3.format(',.0d'));
Ich habe so versucht, diese generasacodicetagpre.
seine Arbeit für mich.Ich bekomme Ergebnisse mit Dezimalstellen und Prozentsatz.