2012-05-06 117 views
0

我想在Java上使用JFreeChart繪製圖表!數據集使用JFreeChart和MySQL數據庫繪製圖表

我將在圖表中使用的數據來自數據庫。

所以我有一個表pannes與許多類型,我計算每個人的pannes數,然後使用JFreeChart的方法將它們添加到dataSet。

我的問題是我沒有得到任何輸出。

這是一段代碼!

for (int i =0 ; i<typesPannes.length ; i++)  
{ 
    ResultSet res = st.executeQuery(req+" and typeDerang = '"+typesPannes[i]+"'"); 
    System.out.println(req+" and typeDerang = '"+typesPannes[i]+"'"); 
    int count=0; 
    while (res.next()) { count++ ; } 
    System.out.println(count) ; 
    dataset.setValue(count, " " , typesPannes[i]); 
}  
    JFreeChart chart = ChartFactory.createBarChart ("BarChart using JFreeChart","row", "col", dataset, 
    PlotOrientation.VERTICAL, false,true, false); 
    chart.setBackgroundPaint(Color.yellow); 
    chart.getTitle().setPaint(Color.blue); 
    CategoryPlot p = chart.getCategoryPlot(); 
    p.setRangeGridlinePaint(Color.red); 
    ChartPanel ch1=new ChartPanel(chart); 
    panel.add(ch1); 

是否有任何問題的數據集或....請幫助!

dataset.setValue(count,「」,typesPannes [i]);

感謝您的幫助!

+0

在附註上,您可能想了解'COUNT(*)'SQL函數的工作原理。 –

+0

你是什麼意思「我沒有得到任何輸出?」。有一些例外嗎?圖表是否顯示爲空白或其他問題?請詳細說明。 –

+0

沒有錯誤!並看到控制檯,我做了一些執行的pannes查詢的System.out.println和他們的計數,我希望圖表仍然爲空的pannel! – joujou

回答

1
dataset.setValue(count, " " , typesPannes[i]); 

嘗試更換方式:

dataset.setValue(count, typesPannes[i], ""); 

當你只有一個類別,但多個系列。

看到屏幕截圖後編輯: 當我替換panel.add(ch1);新的JFrame包含圖表。 所以你需要檢查面板是否已經添加到你的主框架以及它是否沒有被重新繪製等。你可以嘗試調整主框架的大小。您也可以嘗試添加簡單的JLabel,並在添加圖表之前檢查它是否正確顯示在框架中。

+0

同樣的問題! :(( – joujou

+0

)我使用ChartFrame ch1 = new ChartFrame(「chart」,chart); ch1.s​​etBounds(10,10,700,500); ch1.s​​etVisible(true);並且我得到圖表drew!:))) )現在我想將它嵌入到面板中! 感謝您的幫助:))))) – joujou

相關問題