2012-02-21 25 views
0

CategoryPlotを作成し、2つの行を使用するようにDomainAxisラベルを設定する方法を知っています。これはアイデアです:JFreeChart TimeseriesプロットでDate Ticksの最大ラベル行を設定する方法

CategoryAxis categoryAxis = categoryPlot.getDomainAxis(); 
categoryAxis.setMaximumCategoryLabelLines(2); // Mmmm... nice labels 

私はタイムズチャートの "同じこと"をしています。問題は、DateAxisがCategoryAxisではなくValueAxisであることです。日付は値なので、意味があります。しかし、私はそれが日付のための単一の行だけを使用するとき、チャートの外観が好きではありません。私の答えには、this threadのサンプルチャートがあります。私は2行を使用するように日付をフォーマットしたい。しかし、私はこれのようにすることはできません:

DateAxis dateAxis = (DateAxis)xyPlot.getDomainAxis(); 
dateAxis.setMaximumCategoryLabelLines(2); // method does not exist 

私は2行にこれらの日付ラベルを得ることができますか?

答えて

1

setVerticalTickLabels()hereと表示)を使用すると、水平方向の混雑が軽減されます。 setDateFormatOverride()を使用すると、得られる垂直スペースコストを軽減することができる。

+0

ヤック。そして、 "Yuck"によって、私はテストしました。あなたが提案したように動作します。ありがとう。しかし、縦書きのテキストは、データと時間情報を表示することを非常に困難にします。私は水平のテキストに固執する必要があります。誰かがラベルを2行に分割する方法を提供できない限り、 'setDateFormatOverride'を使用します。 – mdahlman

+0

私はあなたがより細かい 'TickUnit'を使用し、ツールチップで詳細を明らかにすることができると思います。 – trashgod

関連する問題