JFreeChart会根据填充的数据自动调整横纵轴的范围。但现在我想将纵轴调整的范围写死,比如就是(-100,100),不管里面填充的是什么数据,纵轴的范围就是这个写死的。应该怎么弄呢?JFreeChart jfreechart = ChartFactory.createXYLineChart(……);
XYPlot xyplot = (XYPlot)jfreechart.getPlot();
ValueAxis valueaxis = xyplot.getRangeAxis();
valueaxis.setRange(-100.0D, 100D);
valueaxis.setAutoRange(false);这是我现在的代码。只能做到初始显示的时候是我要的效果,但一还原,JFreeChart就根据内容去自己调整了。请高手指教下该怎么弄呢?谢谢~~~

解决方案 »

  1.   

    顶一下换个说法,就是说JFreeChart可以通过鼠标拖动来还原图表,现在我想让还原后的尺寸变成一个固定值,而不是系统自动调整出来的。
      

  2.   


    ValueAxis valueaxis = xyplot.getRangeAxis(); 
    //数据为整型
    valueaxis .setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    // 设定显示范围,即总是显示1-10
    valueaxis .setLowerBound(1);
    valueaxis .setUpperBound(10);
      

  3.   


    是可以关掉图表的缩放功能。在ChartPanel上有这个方法。但这样设置后,缩放都不行了。我现在需要的是能够放大,放大完后做还原操作时,图表变回放大前的尺寸,而不是系统自动调整出来的。
      

  4.   

    重写ChartPanel的restoreAutoRangeBounds和restoreAutoDomainBounds方法
    一个是重置Y方向的。一个是X方向