我需要缩小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);
关于java - ZoomRange() 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10261967/