2011-08-03 11 views
0

特定の時間帯に異なる色を持つプロットを表示しようとしています。複数の(ただしシーケンシャルな)データ系列を含むJFreeChartドメイン軸

私がそれをやっていた唯一の方法は、最初のデータ系列を部分に切り詰めてプロットするデータセットの適切な順序で追加することでした。たとえば、プロットのデフォルトの色が青で、2つの期間(たとえば赤色)を強調したい場合は、5つのデータ系列で構成されるデータセットがあります。

dataset.add(青)初期プロット

dataset.add(赤)ハイライト1

dataset.add(青)初期プロットは

dataset.add(赤)ハイライト2

dataset.add(青)の初期プロットは

を継続継続しました

データセットの5つの部分のそれぞれを接続するドメイン軸のポイントが順序付けられます。しかし、私はドメイン軸に問題があります。データ系列中の各点は、(ドメイン軸の配向が同じ始点と終点を有するdataseriesために正常に動作するので、私は、推測)この画像は複数回ズームインドメイン軸を有する

milliseconds = ts.getTime() + (ts.getNanos()/1000000); 
date = new Date(milliseconds); 
intYear = date.getYear() + 1900; 
year = new Year(intYear); 
intMonth = date.getMonth(); 
month = new Month(intMonth, year); 
intDay = date.getDate(); 
day = new Day(intDay, month.getMonth(), year.getYear()); 
hour = new Hour(date.getHours(), day); 
minute = new Minute(date.getMinutes(), hour); 

tpVal = new TimePeriodValue(minute, watts); 
s1.add(tpVal); 

適切にインスタンス化されます。ドメイン軸の範囲は00:00:00から23:59:59までですhttp://i.imgur.com/c7TDY.jpg

ドメイン軸のアラインメントを修正する方法がありますので、拡大する必要なくプロットを正しく表示できますか?

+0

どういうところですか?私はあまりにもそうするだろうと思う。しかし、私は最初のデータシリーズをそのままにして、選択したデータセグメントを別の色で上に追加することができます。 – toto2

+0

提案していただきありがとうございます。問題は、ドメイン軸のアライメントをどのように修正するのかです。スクリーンショットでは、ドメイン軸が少なくとも4倍に拡大されています。私は時間軸を含むドメイン軸と、ズームインする必要なしに完全に表示されるプロットを望みます。どのようにこれを修正するためのアイデア? :) – staths

+0

NumberAxisにはautoAdjustRangeがあります。私はまだ私が理解しているか分からない:最初の範囲は0から23:59:59であり、4回ズームした後も変化しない? – toto2

答えて

0

問題を解決するための「方法」が見つかりました。

上記のように各データ系列をデータセットに追加した後、データセットの最後に元の未分割データ系列を追加しました。ドメイン軸にはすべての日付ポイントが含まれていました。正しく整列される。

オリジナルの未加工データシリーズは、「チョップ」された部品によってオーバーラップされているため、まったく表示されません。これは今見える方法です。 http://i.imgur.com/Wc893.jpg

私は、ドメイン軸の開始点(最初のデータ系列の最初のtimePeriodValue)から最後(最後のデータの最後のtimePeriodValue)までのすべての点をカバーするデータ系列は存在しなかった-series)は、autorange()や、軸の整列を考慮して呼び出されるメソッドを混乱させました。

私はあなたに知らせるべきですが、多分それは、同様の問題を抱えている他の人を助けるでしょう。

元のデータシリーズをそのままにしておくことをお勧めします。

関連する問題