本文介紹了有沒有辦法將JFreechart圖表縮放到X軸上的某個值?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一堆圖表,我想將它們全部縮放,以基于不是源自圖表內部的事件突出顯示值x+范圍內的系列。
如果我沒看錯的話,所有的縮放圖表方法,如chart::zoomInDomain
都采用屏幕坐標。因此,我正在尋找一種方法,可以將x域值轉換為圖表中的屏幕坐標,或者找到另一種基于序列值進行縮放的方法。
推薦答案
一種方法是調整相關軸以位于所需范圍的兩側。確切的表述將取決于您的數據和目標。作為一個具體的例子,從here開始,下面對createChart()
的更改生成了下面的圖表。它放大到序列中最后一天的值,兩側是域軸上的兩天和范圍軸上的比例數量:
int n = dataset.getItemCount(0);
double dMin = dataset.getX(0, n - 3).doubleValue();
double dMax = dataset.getX(0, n - 1).doubleValue();
domain.setRange(dMin, 2 * dMax - dMin);
ValueAxis range = plot.getRangeAxis();
double rMin = dataset.getY(0, n - 3).doubleValue();
double rMax = dataset.getY(0, n - 1).doubleValue();
range.setRange(rMin, 2 * rMax - rMin);
另請參閱相關答案here、here和here。
這篇關于有沒有辦法將JFreechart圖表縮放到X軸上的某個值?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,