Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以编程方式生成随机JavaFX图表_Java_Random_Javafx_Series_Scatter - Fatal编程技术网

如何以编程方式生成随机JavaFX图表

如何以编程方式生成随机JavaFX图表,java,random,javafx,series,scatter,Java,Random,Javafx,Series,Scatter,所以我想生成随机的JavaFX图表,比如散点图。我正在使用netbeans 7.4 我想随机化输入的数据,我想随机化序列的数量。我已经添加了随机数据,但我不知道如何随机化使用的序列数。我计划使用series1、series2、…、seriesN的命名约定。我只是不知道该怎么办 package basicscatter; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.ch

所以我想生成随机的JavaFX图表,比如散点图。我正在使用netbeans 7.4

我想随机化输入的数据,我想随机化序列的数量。我已经添加了随机数据,但我不知道如何随机化使用的序列数。我计划使用series1、series2、…、seriesN的命名约定。我只是不知道该怎么办

package basicscatter;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.ScatterChart;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
import java.util.Random;

public class BasicScatter extends Application 
{

    @Override public void start(Stage stage)
    {
        stage.setTitle("Basic Scatter Chart");
        final NumberAxis xAxis = new NumberAxis(0,50,5); //(start,end,step).
        final NumberAxis yAxis = new NumberAxis(0,1000,100);
        int count = 0;
        int NumEntries;
        int totalNumberOfSeries;
        int x; 
        int y;
        Random randomNumbers = new Random();

        final ScatterChart<Number,Number> sc = new ScatterChart<Number,Number>(xAxis,yAxis);
        xAxis.setLabel("X Axis");
        yAxis.setLabel("Y Axis"); 
        sc.setTitle("This is my Chart's Label");
        totalNumberOfSeries = 1 + randomNumbers.nextInt(10);

 //would like to generate random Series here instead of hardcoding the series
        XYChart.Series series1 = new XYChart.Series();
        XYChart.Series series2 = new XYChart.Series();

        series1.setName("series 1");
        series2.setName("series 2");

        NumEntries = 1 + randomNumbers.nextInt(100);

        while(count < NumEntries)
        {
            x = randomNumbers.nextInt(51);
            y = randomNumbers.nextInt(1001);
            series1.getData().add(new XYChart.Data(x,y));
            count++;
        }

        NumEntries = 1 + randomNumbers.nextInt(100);
        count = 0;

        while(count < NumEntries)
        {
            x = randomNumbers.nextInt(51);
            y = randomNumbers.nextInt(1001);
            series2.getData().add(new XYChart.Data(x,y));
            count++;
        }


        sc.getData().addAll(series1, series2);
        Scene scene = new Scene(sc, 500, 400);
        scene.getStylesheets().add(BasicScatter.class.getResource("Testcss.css").toExternalForm());
        stage.setScene(scene);
        stage.show();
    }


    public static void main(String[] args)
    {
        launch(args);
    }

}
package基本电池;
导入javafx.application.application;
导入javafx.scene.scene;
导入javafx.scene.chart.NumberAxis;
导入javafx.scene.chart.ScatterChart;
导入javafx.scene.chart.XYChart;
导入javafx.stage.stage;
导入java.util.Random;
公共类BasicCatter扩展了应用程序
{
@覆盖公共无效开始(阶段)
{
阶段。设置标题(“基本散点图”);
最终数字轴xAxis=新数字轴(0,50,5);/(开始、结束、步骤)。
最终编号axis yAxis=新编号axis(01000100);
整数计数=0;
国际货币基金组织;
整数系列;
int x;
int-y;
随机数=新随机数();
最终散射图sc=新散射图(X轴、Y轴);
xAxis.setLabel(“X轴”);
yAxis.setLabel(“Y轴”);
sc.setTitle(“这是我的图表标签”);
totalNumberOfSeries=1+随机数;
//希望在此处生成随机序列,而不是硬编码序列
XYChart.Series系列1=新的XYChart.Series();
XYChart.Series系列2=新的XYChart.Series();
系列1.集合名称(“系列1”);
系列2.集合名称(“系列2”);
NumEntries=1+随机数。nextInt(100);
while(计数
您最好在for循环中生成随机数目的序列对象,如下所示:

List<XYChart.Series> seriesList = new ArrayList<Series>
int randomCount = randomNumbers.nextInt(100);
for(int i=0;i<randomCount;i++){
   XYChart.Series series = new XYChart.Series();
   series.setName("series " + randomCount);
   seriesList.add(series);
}
for(XYChart.Series series:seriesList){
    series.getData().add(...);
    ...
}

您导入了什么包以使用ArrayList?我想你的意思是类似于ArrayList seriesList=new ArrayList();虽然我的建议和你对这行的建议都会弹出错误消息给我…所以我让它为我在前面的评论中添加的代码工作,这只是intellisense太愚蠢了。虽然我不知道你以后能给这个系列增加数字是什么意思。我不能100%确定如何确保序列以一种类似于series1、series2、…seriesN的方式分开。我会给它们命名,我的意思是识别它们,这样当我将序列添加到图表中时,我就可以添加不同的序列。@user3003304我不确定你的意思。您了解列表、数组或ArrayList的概念吗?听起来你想给每个变量起个名字,但这并不是必须的。你所需要的只是一个指向那个内存的指针,你可以将任意数量的内存(在合理范围内)存储在一个数组列表中。直到现在我才知道我可以用序列和图表来实现这一点。