5

x 軸に時間をミリ秒単位の詳細で表す目盛りがある折れ線グラフをプロットする必要があります。

Xスケールの場合、私は使用していますd3.time.scale()

var xScale = d3.time.scale()
    .range([0, width])

x 軸は次のようになります。

var xAxis = d3.svg.axis()
    .scale(xScale)   
    //.ticks(d3.time.second, 1)
    .orient("bottom")        
    .tickFormat(d3.time.format("%H:%M %L"));

ただし、x 軸の値/目盛りは期待どおりに生成されません。

時間スケールの x 軸

x 軸のデータは日付オブジェクトであり、次の値を保持します (サンプル データ)

13:25:6 794 (%H:%M%S %L)
13:25:6 898 
13:25:6 994 
13:25:7 95 
13:25:7 194 
13:25:7 295 
13:25:7 395 
13:25:7 495 
13:25:7 595 
13:25:7 710 
13:25:7 795 
13:25:7 895
13:25:7 995 
13:25:8 95 
13:25:8 195 
13:25:8 294
13:25:8 395 
13:25:8 495
13:25:8 594
13:25:8 795 

ただし、線形スケールを取るとd3.scale.linear() 、生成されたティックは予想されるシリーズに従います。

線形スケールの x 軸

time scaleミリ秒の詳細を持つデータを使用する正しい方法は何ですか。

ティック間隔を秒:ミリ秒で指定するにはどうすればよいですか?

編集:

また、数ミリ秒ごとに 500 ミリ秒ごとに目盛りを付けるにはどうすればよいですか?

APIはありますd3.time.secondが、のようなものはありませんd3.time.millisecond。どうすれば追加できますか?

タイムスケールを使用してフィドル

4

2 に答える 2

4

秒単位の間隔:ミリ秒は、これを試すことができることを意味します

.tickFormat(d3.time.format("%S %L"));
于 2013-08-27T09:53:49.150 に答える
1

(古い以前の回答を削除しました)

d3 プロジェクトに対してこの問題を作成し、修正しました: https://github.com/mbostock/d3/issues/1529

ここで例を見ることができます: http://bl.ocks.org/mbostock/6618724

于 2013-09-18T21:40:26.143 に答える