2011-03-22 67 views
1

是我们可以动态填充饼图的一种方式....基于从数据库中获取的值......任何一个人都可以引导我?动态生成jfree图表-pie图表

+1

可能是[Java图形或图表库的重复?](http://stackoverflow.com/questio ns/527640/java-graph-or-chart-library) – Thilo 2011-03-22 02:55:37

+2

你google的图表。 – 2011-03-22 02:58:51

+2

@Thilo:他在问怎么做。他已经在使用jFree。 – Jonah 2011-03-22 03:00:31

回答

2

从分贝值....可以不 固定.....所以。 ....的参数...将 变化........怎么办?

我正在从数据库数据....使用 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)); 
1

有在其网站上这里的几个JFreeChart的样本:

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

+1

@jonah .....来自db ....的值可能不是固定的.....所以.....参数...会变化........怎么办? – user654761 2011-03-22 03:07:18

+1

@ user654761:只需像通常那样加载值,并将饼图中的静态值替换为数据库值。 – Jonah 2011-03-22 03:11:06

+1

@jonah ....可以请你详细说明吗? – user654761 2011-03-22 03:36:21

2

动态更新您的任何JFreeChart对象(抱歉,如果我不使用为例饼图,但可以集找出它):

确保您的数据从数据库被填充到DataSet对象,它是类字段的一部分。

创建返回一个类的辅助方法一JFreeChart其包含:

  1. 一个ChartFactory方法,其创建 一个JFreeChart对象
  2. 曲线对象
  3. 任何允许图表和 情节渲染对象,等等

通过这个DataSet对象添加到您ChartFactory方法,涉及到的图表类型你想

呼叫从一个事件或事情,让在此穿过JFreeChart对象到ChartPanel对象要更新的图表类的辅助方法......

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

如果您希望图表在间隔内更新,请使用基于计时器的对象来更新代码。

对于这样的辅助方法的一个例子可以在我的其他后发现:

Jfree chart change Y axis data