用数组绘制 jFreechart 的问题
Problems plotting jFreechart with array
我正在学习 java 并且我正在尝试构建应用程序。我坚持应用程序的最后一部分,希望你们中的一些人能够帮助我。该应用程序将值存储在数据库中,并且根据用户请求,它将检索数据并将该数据绘制在折线图上。该应用程序正在生成一个折线图,但我的问题是它正在为它从数据库中检索的每条数据生成一个折线图。因此,如果查询 returns 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. There are also plenty of examples under jfreechart 标签。
我正在学习 java 并且我正在尝试构建应用程序。我坚持应用程序的最后一部分,希望你们中的一些人能够帮助我。该应用程序将值存储在数据库中,并且根据用户请求,它将检索数据并将该数据绘制在折线图上。该应用程序正在生成一个折线图,但我的问题是它正在为它从数据库中检索的每条数据生成一个折线图。因此,如果查询 returns 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. There are also plenty of examples under jfreechart 标签。