如何使Y轴限制是使用XChart一样吗?(How to make limits on the Y a

2019-10-17 16:22发布

我试图绘制了一系列类似的功能。 域名是[0,1]的范围内总是说[-3,3]。

我想在Y轴上的限制为对于每个曲线图中的相同。 试图设置Y系列最小和y最大似乎并没有工作。

有没有一种方法,使Y轴的范围是每幅图上一样吗?

import java.math.BigDecimal;
import java.util.*;
import com.xeiam.xchart.*;
public class Bug {
    static void plot(Chart chart,int n) {
        chart.setTitle("title");
        chart.setXAxisTitle("X");
        chart.setYAxisTitle("Y");
        List<Number> x=new ArrayList<Number>();
        List<Number> y=new ArrayList<Number>();
        String seriesName=addOneSeries(chart,n,x,y);
    }
    private static String addOneSeries(Chart chart,int n,List<Number> x,List<Number> y) {
        for(int i=0;i<=10;i++) {
            x.add(i/10.);
            y.add(i*n/10.);
        }
        String seriesName="series "+n;
        Series series=chart.addSeries(seriesName,x,y);
        series.xMin=BigDecimal.ZERO;
        series.xMax=BigDecimal.ONE;
        series.yMin=new BigDecimal(-5);
        series.yMax=new BigDecimal(5);
        return seriesName;
    }
    public static void main(String[] args) {
        for(int i=0;i<4;i++) {
            Chart chart=new Chart(700,500);
            plot(chart,i);
            new SwingWrapper(chart).displayChart();
        }
    }
}

Answer 1:

在设置的最小值和最大值Chart现在可以用XChart 。 下面是说明了这一点OP的Bug类的返工。 在这一刻,因为这是一个全新的功能,你必须得到一个xchart-2.0.0-SNAPSHOT罐子这里才能看到此功能。 请随时寻求帮助或要求更多的功能 !

public class NoBug {

  static void plot(Chart chart, int n) {

    chart.setChartTitle("title");
    chart.setXAxisTitle("X");
    chart.setYAxisTitle("Y");
    List<Number> x = new ArrayList<Number>();
    List<Number> y = new ArrayList<Number>();
    String seriesName = addOneSeries(chart, n, x, y);
  }

  private static String addOneSeries(Chart chart, int n, List<Number> x, List<Number> y) {

    for (int i = 0; i <= 10; i++) {
      x.add(i / 10.);
      y.add(i * n / 10.);
    }
    String seriesName = "series " + n;
    Series series = chart.addSeries(seriesName, x, y);
    chart.getStyleManager().setxAxisMin(0);
    chart.getStyleManager().setxAxisMax(1);
    chart.getStyleManager().setyAxisMin(-5);
    chart.getStyleManager().setyAxisMax(5);
    return seriesName;
  }

  public static void main(String[] args) {

    for (int i = 0; i < 4; i++) {
      Chart chart = new LineChart(700, 500);
      plot(chart, i);
      new SwingWrapper(chart).displayChart();
    }
  }

}


文章来源: How to make limits on the Y axis be the same using XChart?
标签: java charts plot