2011-03-22 106 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