理由の開示 - 私はjavascriptでひどいですが、勉強しようとしています!nvD3の新機能 - UNIXのタイムスタンプをX軸の日付として表示するにはどうしたらいいですか?
[1349013600] => 232
キー値は、その日から販売の$で、UNIXタイムスタンプである:
は、私はそれでこれらのようないくつかのエントリを持つ配列を持っています。私は現在、これらをマルチバーチャートでグラフ表示していますが、これはうまく機能しています。
問題は、現在、このように定義されている私のx軸、次のとおりです。
chart.xAxis
.tickFormat(d3.format(',f'));
それは、x軸のラベルとホバーツールチップに対するストレートintとしてのUNIXタイムスタンプを出力します。私はそれをD-M-Yまたは人間が判読可能な日付表示と同様に出力しようとします。
私が見つけた最も近いが、コードのこのビットは次のとおりです。
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))
});
しかし、私はそれをやっているかを理解するために苦労していますし、私の特定のチャートに実装することはできません。現在のコードは次のようになります。
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;
});
は、誰かがそれを動作させる方法を説明し、でした - もっと重要なこと - なぜですか?任意の指導を感謝!
チップをありがとう。日付は(SQLデータベースに格納されている)実際にはすでに読み込み可能な形式(YYYY/MM/DD)であるが、データベースから取り出したときにstrtotime(PHP関数)で変換している。私はこれが直観に反しているように思えますが、実際の値の割り当ては、軸をまたいで適切に配置するためにUNIXスタンプで行わなければならないと考えています。 とにかく、msではなくsにあるはずです。 – mcl