4

チャートでPeriodAxisを使用して、時系列データをグラフ化しようとしています。最初のデータポイントは2012-01-0819:00:00に発生し、最後のデータポイントは2012-01-0919:00:00に発生します。

チャートが描画されると、目盛りラベルは19:29に開始し、19:29に終了します。私はそれらを19:00に開始し、それに応じて終了するようにします。つまり、:29分の分数は必要ありません。setStandardTickUnits()を使用して目盛りラベルの増分を1時間単位に設定しようとしましたが、何も変わりませんでした。ダニの単位を変更できるこのクラスの他のメソッドが見つからないようです。

ここに画像の説明を入力してください

サンプルコード:

PeriodAxis domain = new PeriodAxis(null, new Hour(19, new Day(8, SerialDate.JANUARY, 2012)),
            new Hour(19, new Day(9, SerialDate.JANUARY, 2012)));
domain.setAutoRangeTimePeriodClass(Hour.class);
PeriodAxisLabelInfo[] periodLabels = new PeriodAxisLabelInfo[2];
periodLabels[0] = new PeriodAxisLabelInfo(Hour.class, new SimpleDateFormat("HH:mm"));   
periodLabels[1] = new PeriodAxisLabelInfo(Day.class, new SimpleDateFormat("MMM dd, yyyy"));
domain.setLabelInfo(periodLabels);

domain.setLowerMargin(0);
domain.setUpperMargin(0);
TickUnits tu = new TickUnits();
tu.add(new DateTickUnit(DateTickUnit.HOUR, 1));

domain.setAutoTickUnitSelection(true);
domain.setStandardTickUnits(tu);
4

1 に答える 1

2

あなたの場合、チャートは19:00に始まり、tickUnitは1時間です。

ここでの問題PeriodAxisは、横軸を24の期間に分割し、各期間がオブジェクトによって表されるorg.jfree.data.time.Hourことです。次に、期間の途中でラベルが表示されます:19:29、20:29 .. ..

必要なものを取得するには、のDateAxis代わりに使用するか、日付形式としてPeriodAxis使用"hh:00"して、分を00に置き換えます。

于 2013-01-11T05:06:51.677 に答える