2

d3 JS ライブラリを使用していくつかのグラフをプロットしています。それはうまくいきますが、私は1時間苦労してきた奇妙な問題に固執しています.x軸の値を設定できません. これがグラフです(データ形式を表示するアラートを追加しました):

http://jovansfreelance.com/bikestats/d3/tipsy.php

x軸に年を表示したいのですが、コードのどこにも表示されない何らかの理由で、代わりに10進数値を使用しているため、2006の代わりに.006があります-これがどこから来るのかわかりません.最初の桁を取り出して、残りを100で割ると?

誰かがこれを行っているコード行を教えてくれれば、それでいいでしょう。そこから取得できます。

4

2 に答える 2

1

別の回答で指摘されているように、時間値を処理するより良い方法は、時間スケールを明示的に使用することです。ただし、目的を達成するには、x 軸の形式を明示的に指定するだけで十分です。つまり、

var xAxis = d3.svg.axis()
        .scale(x)
        .tickSize(h - margin * 2)
        .tickPadding(10)
        .ticks(7)

追加

.tickFormat(d3.format("d"));
于 2013-03-14T21:57:01.757 に答える
0

このparseDate = d3.time.format("%Y") が機能しないことに関連している可能性があります

もしそうなら、あなたは必要かもしれません

d3.svg.axis()
   .scale(x)
   .tickSize(h - margin * 2).tickPadding(10).ticks(7)
   .tickFormat(function(d) { return d.toString(); }); // force the date value into a string

または、日付の解析が必要な場合

   .tickFormat(function(d) { 
      var fmt = d3.time.format("%Y"); 
      return format.parse(d).toString() 
    });
于 2013-03-12T23:26:50.907 に答える