Neu nvD3 - wie kann ich meine unix-Zeitstempel werden als Datumsangaben auf der x-Achse?
Durch Offenlegung - ich bin schrecklich an javascript, aber versuchen zu lernen!
Ich habe ein array mit ein paar Einträge wie diese, die in es:
[1349013600] => 232
Den Schlüssel ist ein unix-timestamp, der Wert des $ in den Umsatz von diesem Tag. Ich bin derzeit die grafische Darstellung dieser auf einer multibar Diagramm, das funktioniert Super.
Das problem ist, mein x-Achse, die ist derzeit wie folgt definiert:
chart.xAxis
.tickFormat(d3.format(',f'));
Er gibt den unix-timestamp als einen geraden int-gegen die x-Achsen-Beschriftungen und hover-tooltip. Ich möchte versuchen, es zu bekommen, um die Ausgabe als D-Meine oder eine ähnliche lesbare Datumsanzeige.
Der nächste, den ich gefunden habe, ist dieses bit des Codes:
chart.xAxis.tickFormat(function(d) {
var dx = testdata[0].values[d] && testdata[0].values[d].x || 0;
return d3.time.format('%x')(new Date(dx))
});
Aber ich bin kämpfen, um zu verstehen, was es tut und nicht umsetzen können, die auf mein spezielles chart. Aktuelle code sieht wie folgt aus:
nv.addGraph(function() {
var chart = nv.models.multiBarChart()
.stacked(true)
chart.xAxis
.tickFormat(d3.format(',f'));
chart.yAxis
.tickFormat(function(d) { return '$' + d3.format(',f')(d) });
d3.select('#chart1 svg')
.datum(test_data2)
.transition().duration(500).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
Könnte mir jemand erklären, wie es funktioniert und - noch wichtiger - warum? Schätzen jede Beratung!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich das problem, sobald ich öffnete die bounty (d ' Oh!)
Hier ist was für mich gearbeitet
.tickFormat(function(d){return d3.time.format('%d-%b')(new Date(d));})
- und der trick war, formatieren Sie die Daten für nvd3, ist die Achse erstellt
JavaScript Zeitstempel im Millisekunden, so sollten Sie multiplizieren Sie den Unix-Zeitstempel von 1000, bevor Sie es.