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!

InformationsquelleAutor mcl | 2012-12-20
Schreibe einen Kommentar