Java中的多对象循环 上下文

Java中的多对象循环 上下文,java,plot,Java,Plot,我正在尝试从以下代码中循环多个数据系列: 但是,数据系列的数量(两个List x和List y对象的数组列表)目前是硬编码的,我在循环任意数量的数据系列/行时遇到了一些困难 特别是我认为我可以编写一个for循环,如: for(int i = 0; i < y_data_series; i++){ series(f'Data Series {i}', Plot.data(). xy(x_data_series.get(i

我正在尝试从以下代码中循环多个数据系列:

但是,数据系列的数量(两个
List x
List y
对象的数组列表)目前是硬编码的,我在循环任意数量的数据系列/行时遇到了一些困难

特别是我认为我可以编写一个for循环,如:

for(int i = 0; i < y_data_series; i++){
    series(f'Data Series {i}', Plot.data().
                                xy(x_data_series.get(i),y_data_series.get(i)),
for(int i=0;i
但是
Plot=Plot.Plot(null)末尾的点表示应该使用串联方法,而不是for循环

问题: 如何在Plot对象中循环两个dataseries数组列表

怀疑
  • 我认为我的问题有点不适定,因为我还不知道当一个级数方法在另一个中间有一个点的级数方法上被“调用”时,语法是如何工作的。我希望上下文能够澄清问题是什么
  • 我认为
    zip
    /
    map
    /
    fold
    可能是一个选项,因为它们可能是函数,就像series方法一样

  • 我不确定我是否理解你的问题,但我认为以下几点应该对你有用:

    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class PlotTest {
    
        public static void main(String[] args) {
            Plot plot = Plot.plot(null);
    
            final List<List<Double>> multipleXseries = new ArrayList<List<Double>>();
            final List<List<Double>> multipleYseries = new ArrayList<List<Double>>();
    
            final List<Double> xSeries1 = new ArrayList<Double>();
            final List<Double> ySeries1 = new ArrayList<Double>();
    
            xSeries1.add(0D);ySeries1.add(10D);
            xSeries1.add(1D);ySeries1.add(20D);
            xSeries1.add(2D);ySeries1.add(30D);
    
            multipleXseries.add(xSeries1);
            multipleYseries.add(ySeries1);
    
            final List<Double> xSeries2 = new ArrayList<Double>();
            final List<Double> ySeries2 = new ArrayList<Double>();
    
            xSeries2.add(0D);ySeries2.add(15D);
            xSeries2.add(1D);ySeries2.add(25D);
            xSeries2.add(2D);ySeries2.add(35D);
    
            multipleXseries.add(xSeries2);
            multipleYseries.add(ySeries2);
    
            for(int i = 0; i < multipleXseries.size(); i++) {
                Plot.Data data = Plot.data().xy(multipleXseries.get(i), multipleYseries.get(i));
                plot = plot.series("Data Series " + i, data, null);
            }
    
            try {
                plot.save("test", "png");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    import java.io.IOException;
    导入java.util.ArrayList;
    导入java.util.List;
    公共类绘图测试{
    公共静态void main(字符串[]args){
    Plot-Plot=Plot.Plot(null);
    最终列表multipleXseries=new ArrayList();
    最终列表MultipleSeries=新的ArrayList();
    最终列表xSeries1=新的ArrayList();
    最终列表ySeries1=新的ArrayList();
    xSeries1.add(0D);ySeries1.add(10D);
    xSeries1.add(1D);ySeries1.add(20D);
    xSeries1.add(2D);ySeries1.add(30D);
    multipleXseries.add(xSeries1);
    multipleYseries.add(ySeries1);
    最终列表xSeries2=新的ArrayList();
    最终列表ySeries2=新的ArrayList();
    xSeries2.add(0D);ySeries2.add(15D);
    xSeries2.add(1D);ySeries2.add(25D);
    xSeries2.add(2D);ySeries2.add(35D);
    multipleXseries.add(xSeries2);
    multipleYseries.add(ySeries2);
    对于(int i=0;i
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class PlotTest {
    
        public static void main(String[] args) {
            Plot plot = Plot.plot(null);
    
            final List<List<Double>> multipleXseries = new ArrayList<List<Double>>();
            final List<List<Double>> multipleYseries = new ArrayList<List<Double>>();
    
            final List<Double> xSeries1 = new ArrayList<Double>();
            final List<Double> ySeries1 = new ArrayList<Double>();
    
            xSeries1.add(0D);ySeries1.add(10D);
            xSeries1.add(1D);ySeries1.add(20D);
            xSeries1.add(2D);ySeries1.add(30D);
    
            multipleXseries.add(xSeries1);
            multipleYseries.add(ySeries1);
    
            final List<Double> xSeries2 = new ArrayList<Double>();
            final List<Double> ySeries2 = new ArrayList<Double>();
    
            xSeries2.add(0D);ySeries2.add(15D);
            xSeries2.add(1D);ySeries2.add(25D);
            xSeries2.add(2D);ySeries2.add(35D);
    
            multipleXseries.add(xSeries2);
            multipleYseries.add(ySeries2);
    
            for(int i = 0; i < multipleXseries.size(); i++) {
                Plot.Data data = Plot.data().xy(multipleXseries.get(i), multipleYseries.get(i));
                plot = plot.series("Data Series " + i, data, null);
            }
    
            try {
                plot.save("test", "png");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }