2016-09-15 2 views
0

私は両方の軸の範囲を特定の値で設定した2次元グラフを描きます。しかし、グラフメニューの「自動範囲>両方の軸」を選択すると、他の範囲(おそらく明らかに)が得られます。jfreechart auto rangeを選択した値に設定するにはどうすればいいですか?

私の定義した範囲にオートレンジを設定したいのです。これどうやってするの?

XYPlot xyPlot = chart.getXYPlot(); 
NumberAxis domainAxis = (NumberAxis) xyPlot.getDomainAxis(); 

domainAxis.setRange(minXChart, maxXChart); 
domainAxis.setTickUnit(new NumberTickUnit(xTickInterval)); 

rangeAxis.setRange(minYChart, maxYChart); 
rangeAxis.setTickUnit(new NumberTickUnit(yTickInterval)); 
  1. graph with defined range(私は正確に同じですが、オートレンジにしたい)

  2. graph with auto range(見て悪い)

答えて

1

いくつかの可能なアプローチ:

  • ChartPanelメソッドrestoreAutoBounds()を、hereのように上書きして、望ましい境界を設定します。 オートズームためhereを示すよう

  • は、適したChartPanelコンストラクタのzoomパラメータを使用して、コンテキストメニューから機能を削除し、独自のコントロールとアクションを処理します。

+0

私は間違ってオートレンジに関連付けられている私の質問の一部に解決策を見つけた: 「//固定x軸 NumberAxis domainAxis =(NumberAxis)xyPlot.getDomainAxis(); domainAxis.setLowerMargin(0); domainAxis.setUpperMargin(0); //固定y軸 NumberAxis rangeAxis =(NumberAxis)xyPlot.getRangeAxis(); rangeAxis.setAutoRangeIncludesZero(false); ' ボーダーy軸の下限が問題だったのは、すべてのデータポイントが正の値だったことです。 しかし、私は選択された値にオートレンジを設定する方法はまだ分かりません。 –

+0

コメント内のコードが不完全で読みにくい。あなたの修正されたアプローチを示す[mcve]を含めるように質問を編集してください。 – trashgod

関連する問題