0

私は本当に興味深い問題で立ち往生しています、

出発地までの複数便の予約・取消を比較する折れ線グラフを作成しています。したがって、X 軸は 72 - 48 - 24 - 12 - 6 - 0 のような時間のみのカウントダウンを表示する必要があります。d3s で利用可能な線形スケールと時間スケールを使用して、これらの種類のスケールを実現するにはどうすればよいですか。?

私は現在リニアスケアを使用していますが、その基数は 10 であるため、期待どおりに動作しません

タイムスケールを使用する場合は日付を表示しますが、日付にバインドする必要はなく、フライト出発の 144 時間前にのみ表示する必要があります。

あなたの助けは大歓迎です。

ここに画像の説明を入力

ここに画像の説明を入力

前もって感謝します

4

1 に答える 1

0

私は解決策を見つけました

それが正しい方法かどうかはわかりませんが、私にとってはうまくいきます。基本的には、10進数ではなく分を表すように目盛りの形式を変更する必要があります

これは私がしたことです

小数を分に変換するリニアスケールを作成

var dectomin = d3.scale.linear().rangeRound([0 , 60]).domain([0,1]);

tickFormat関数を使用して、軸コンポーネントの目盛りラベルをフォーマットします

var chartXAxis  = d3.svg.axis().scale(chartXScale).orient("bottom")
                    .tickFormat(function(n){ 
                        if(n % 1 === 0) {
                            return n;                            
                        } else {
                            var f = Math.floor(n);
                            var d = n - f;
                            return f + ":" + chartXScaleTime(d);
                        }
                    });

このアイデアに感謝します

于 2013-10-09T08:10:10.577 に答える