我正在学习java,我正在尝试构建一个应用程序。我一直在做申请的最后一部分,希望你们中的一些人能够帮助我。该应用程序将值存储在数据库中,并且根据用户请求,它将检索数据并将该数据绘制在线图上。该应用程序正在生成一个折线图,但我的问题是它正在为从数据库检索的每条数据生成一个折线图。因此,如果查询返回 15 个结果,则应用程序会生成 15 个图表,每个图表各有一个图。我希望检索所有数据并将其绘制到一张图表上。下面是我的代码。有人能指出我正确的方向吗?
尝试一下 { 连接 con = new DataConnection().connect(); 结果集 rs;
PreparedStatement retrieve = con.prepareStatement("SELECT row FROM table");
rs = retrieve.executeQuery();
while (rs.next())
{
String string = rs.getString(1);
double double = Double.parseDouble(string);
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(double, "Chart", "Data");
JFreeChart chart = ChartFactory.createLineChart("Graph", "Data", "Data", dataset, PlotOrientation.VERTICAL, true, false, false);
CategoryPlot p = chart.getCategoryPlot();
p.setRangeGridlinePaint(Color.black);
ChartFrame frame = new ChartFrame("Line Chart", chart);
frame.setVisible(true);
frame.setSize(450, 350);
}
}
最佳答案
So if the query returns 15 results, the application produces 15 graphs with one plot each. I want all of the data retrieved and plotted onto one graph.
您的代码为数据库查询结果集中的每一行创建一个新的 JFreeChart
实例,这就是为什么打开图表的框架过多的原因。您只需创建一个 JFreeChart
实例并将数据作为系列添加到其模型中。
查看相关问答:Multiple graphs in multiple figures using jFreeChart 。 jfreechart下也有很多例子标签。
关于java - 使用数组绘制 jFreechart 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090887/