我需要从jFreeChart
中的rangeAxis缩小,因此我已将zoomRange用于此目的。
但是我不明白什么是lowerPercent
和upperPercent
?
我要如下图所示设置rangeAxis。我怎样才能做到这一点?
我已经尝试过了,但是不知道rangeAxis.zoomRange(0,?)
的值是什么
public class Profilee {
double last=0;
ChartFrame frame1;
JFreeChart chart;
ChartUtilities cu=new ChartUtilitiesImpl();
public void generateProfile(double[] pointValue,double[] distance){
ArrayList pv=new ArrayList();
ArrayList dist=new ArrayList();
pv.add(pointValue);
dist.add(distance);
XYSeries series = new XYSeries("");
for(int i=0;i<pointValue.length-1;i++){
series.add(last,pointValue[i]);
last=distance[i];
}
XYDataset xyDataset = new XYSeriesCollection(series);
chart= ChartFactory.createXYAreaChart("Profile View Of Contour", "Distance", "Contour Value", xyDataset, PlotOrientation.VERTICAL, true, true, false);
ValueAxis rangeAxis = chart.getXYPlot().getRangeAxis();
//rangeAxis.setLowerBound(-3);
rangeAxis.zoomRange(0,?); //What should be Value over here?
frame1=new ChartFrame("XYLine Chart",chart);
frame1.setVisible(true);
frame1.setSize(1300,700);
}
public static void main(String ar[]){
Profilee pro=new Profilee();
double[] pv={3,2,3,0,5,-2,10};
double[] dist={1,4,8,12,14,20,24};
pro.generateProfile(pv, dist);
}
private static class ChartUtilitiesImpl extends ChartUtilities {
public ChartUtilitiesImpl() {
}
}
}
最佳答案
默认情况下,ValueAxis
自动调整其范围以适应数据集。您可以使用setRange()
方法之一采用显式范围,如上图所示。
rangeAxis.setRange(-8, 12);