动态生成jfree图表 - 图表

时间:2011-03-22 02:53:18

标签: java charts

是他们可以动态填充饼图的方式....基于从数据库获得的值...可以任何人指导我吗?

3 个答案:

答案 0 :(得分:2)

动态更新任何JFreeChart对象的数据集(对不起,如果我没有使用饼图作为示例,但你可以搞清楚):

确保将来自数据库的数据填充到DataSet对象中,该对象是类字段的一部分。

创建一个类助手方法,该方法返回JFreeChart,其中包含:

  1. 创建的ChartFactory方法 一个JFreeChart对象
  2. 情节对象
  3. 任何允许图表和对象的对象 情节渲染等。
  4. 将此DataSet对象传递给与您想要的图表类型相关的ChartFactory方法

    从一个允许图表更新的事件或事物中调用您的类助手方法,将JFreeChart对象传递给ChartPanel对象......

    chartPanel.setChart(createChart(axisX, axisY));
    

    如果希望按时间间隔更新图表,请使用基于Timer的对象更新代码。

    有关此类帮助方法的示例,请参阅我的其他帖子:

    Jfree chart change Y axis data

答案 1 :(得分:2)

  

db ....的值可能不是   固定.....所以......参数......会   变化........怎么办?

     

我从db ....中获取数据   ResultSet

您可以尝试这样的事情

    DefaultPieDataset pieDataSet = new DefaultPieDataset();

// select subject,value from datatable;
// rs will be your ResultSet

    while (rs.next()) {
        String sub = rs.getString(1);
        int val = rs.getInt(2);
        pieDataSet.setValue(sub, new Integer(val));
    }

如果该值未以整数格式存储在数据库中,则使用

进行解析
    int val = Integer.parseInt(rs.getString(2));

答案 2 :(得分:1)

这里有几个jFreeChart样本:

http://www.jfree.org/jfreechart/samples.html