gpt4 book ai didi

java - 使用二维数组和 JfreeChart 制作散点图

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:21 25 4
gpt4 key购买 nike

这是我使用 Java 的第一个月,所以我提前为我的愚蠢问题道歉。我正在尝试使用 Jfreechart 制作一个简单的程序。我想在散点图上显示我的二维数组。这是代码:


package myappthatusesjfreechart;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.general.DefaultPieDataset;

public class MyAppThatUsesJFreeChart {

public static void main(String[] args) {
// create a dataset...
int[][] a2 = new int[10][5];

// print array in rectangular form
for (int r = 0; r < a2.length; r++) {
for (int c = 0; c < a2[r].length; c++) {
System.out.print(" " + a2[r][c]);
}
System.out.println("");
}

// create a chart...
JFreeChart chart = ChartFactory.createScatterPlot(
"Scatter Plot", // chart title
"X", // x axis label
"Y", // y axis label
a2, // data ***-----PROBLEM------***
PlotOrientation.VERTICAL,
true, // include legend
true, // tooltips
false // urls
);

// create and display a frame...
ChartFrame frame = new ChartFrame("First", chart);
frame.pack();
frame.setVisible(true);
}
}

;ChartFactory.createScatterPlot;不允许我传递二维数组,我想问一下我有什么办法可以做到这一点。

最佳答案

createScatterPlot() 方法需要一个 XYDataset ,例如 XYSeriesCollection。有使用 XYSeriesCollection 的示例 herehere .

附录:这是一个更适合散点图的示例;只需在工厂调用中将 a2 替换为 createDataset()

private static final Random r = new Random();

private static XYDataset createDataset() {
XYSeriesCollection result = new XYSeriesCollection();
XYSeries series = new XYSeries("Random");
for (int i = 0; i <= 100; i++) {
double x = r.nextDouble();
double y = r.nextDouble();
series.add(x, y);
}
result.addSeries(series);
return result;
}

关于java - 使用二维数组和 JfreeChart 制作散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com