Shift the origin from (0,0) to (0,50) in JFreeChart

こ雲淡風輕ζ 提交于 2019-12-31 03:28:09

问题


As shown in image the graph is from line y=0, here i want to plot a graph from y=50, how can i specify this in JFreeChart?

Here is Some Code:

public class Profile  {



    double last=0;
    public void generateProfile(int[] pointValue,double[] distance){
        ArrayList pv=new ArrayList();
        ArrayList dist=new ArrayList();

        pv.add(pointValue);
        dist.add(distance);
        for(int i=0;i<pv.size();i++){
            System.out.print(pointValue[i]);
        }
        for(int i=0;i<dist.size();i++){
            System.out.print(distance[i]);
        }


        XYSeries series = new XYSeries("Average Weight");
        for(int i=0;i<pointValue.length;i++){
            if(pointValue[i]!=0){

              series.add(last,pointValue[i]);
              last=distance[i];
            }
         }


      XYDataset xyDataset = new XYSeriesCollection(series);
      JFreeChart chart;

      chart= ChartFactory.createXYAreaChart("Profile View Of Contour", "Distance", "Contour Value", xyDataset, PlotOrientation.VERTICAL, true, true, false);
      ChartFrame frame1=new ChartFrame("XYLine Chart",chart);
      frame1.setVisible(true);
      frame1.setSize(300,300);
    }

回答1:


You can specify the bottom value of the Y axis with the setLowerBound() method of the ValueAxis class.

Using your example:

JFreeChart chart;
chart = ChartFactory.createXYAreaChart("Profile View Of Contour", "Distance", "Contour Value", xyDataset, PlotOrientation.VERTICAL, true, true, false);

ValueAxis rangeAxis = chart.getXYPlot().getRangeAxis();
rangeAxis.setLowerBound(50.0f);


来源:https://stackoverflow.com/questions/10084723/shift-the-origin-from-0-0-to-0-50-in-jfreechart

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!