2 votes

Déplacement de l'origine de (0,0) à (0,50) dans JFreeChart

Comme le montre l'image, le graphique est issu de la ligne y=0, ici je veux tracer un graphique à partir de y=50. JFreeChart ? JFreeChart

Voici un peu de 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);
    }

3voto

Aaron Points 3772

Vous pouvez spécifier la valeur inférieure de l'axe Y avec la méthode setLowerBound() de la classe ValueAxis.

En utilisant votre exemple :

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);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X