1

tickValuesX 軸に特定の日付のみを表示しており、関数を使用して「dataPop」配列からこれらの日付を選択しています。

xAxisPop.tickValues([dataPop[0].date, dataPop[20].date, dataPop[40].date]) 

ただし、世紀ではなく年のみを表示したいと思いdataPop[20].dateますdataPop[40].date。たとえば、1980 は 80 と表示されます。

世紀ではなく年のみを表示するように記述された変数「formatDate」があります。

formatDate = d3.time.format("%y")

dataPop[20].dateしかし、dataPop[40].datetickValues 関数でformatDate を に適用するにはどうすればよいですか?

また、参考までに。私の日付は現在文字列です...したがって、formatDate関数でd3.time.formatを使用する代わりに、文字列をフォーマットする別のD3フォーマット方法を使用する必要があると思います...それは正しいですか? または、最初に日付を文字列から日付に変更してから、formatDate 関数を実行する必要がありますか?

どうもありがとう

4

1 に答える 1

0

フォーマッタを に渡しますxAxisPop.tickFormat。のような d3 テキスト書式設定オプションtickFormatは、通常の JavaScript 関数をパラメーターとして受け取ります。 d3.time.format一般的なものを構築するための単なるヘルパーメソッドです。

あなたの場合、日付は単なる文字列であるため、おそらく次のように独自の書式設定関数を作成することをお勧めします。

function formatTwoDigitYear(d) { return d.substr(2,2); }

そうは言っても、できるだけ早くテキストの年を日付に変換することで、多くの利点が得られるでしょう。

于 2013-11-12T14:00:41.457 に答える