1

次のスニペットを使用してチャートを表示しています:

     xaxis: {
        min: '2012-01-01 00:00:00.0',
        max: '2012-04-01 00:00:00.0',
        renderer : "$.jqplot.DateAxisRenderer",
        rendererOptions : {
           "tickRenderer" : "$.jqplot.CanvasAxisTickRenderer"
        },
        numberTicks: 4,
        showTickMarks : false,
        tickOptions:{
           angle:0,
           formatString:'%b %Y'
        }
    },

    Data :[
          ['2012-01-01 00:00:00.0', 0]
        , ['2012-02-01 00:00:00.0', 0]
        , ['2012-03-01 00:00:00.0', 0]
        , ['2012-04-01 00:00:00.0', 0]
    ]

表示する代わりに:2012年1月、2012年2月、2012年3月、2012年4月表示:2012年1月、2012年1月、2012年3月、2012年4月。

さらにデバッグすると、2番目のポイントは実際には2012年1月31日であり、フォーマットを適用すると2012年1月と表示されます。

月が正しく表示されるようにするにはどうすればよいですか。

前もって感謝します。

4

1 に答える 1

0

コードに「障害」があることに気づきました。はパラメータのtickRenderer外側にある必要がありrendererOptionsます。また、その周りやレンダラーのクラスの周りの引用符は必要ありません。

私はあなたがそれぞれ1ヶ月の間隔を示すダニを持ちたいと思っていますか?したがって、代わりにtickIntervalパラメーターを使用してください。例えば:tickInterval: "1 months"

他の答えで示したように。

編集: 私はそれをソートしました。明らかに、それらが誤ってカウントされるので、ティックの数を制限する意味はありません。あなたから利益を得るには、パラメータtickIntervalを使用する必要があるので、スクリプトにティック数を計算させるのは正しいことですよね?:)minmax

したがって、希望どおりに機能させるには、。を使用して行を削除しnumberTicksます。ここに表示されます。

注: なぜnumberTicksこのように動作するのかを理解しました。ダニ間の距離を等しくしているからです。

2012年1月1日から5月1日までの日数は122日です。日数をnumberTicks-1(つまり、4)で割ると、30.5になります。したがって、1月1日、1月31日、3月1日、3月31日、5月1日があります。

于 2012-04-26T17:31:32.637 に答える