java传入数据库生成柱状图_Java读取数据库数据生成柱状图
此案例是用swing顯示數據的。須要引入jfreechart相關包。不同版本號可能包不同樣。本人用的是
此案例在ssi框架下會報錯,不用框架就沒問題。
Java后臺邏輯代碼:
public class BarChart {
ChartPanel frame1;
public BarChart() {
CategoryDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D("水果", // 圖表標題
"水果種類", // 文件夾軸的顯示標簽
"數量", // 數值軸的顯示標簽
dataset, // 數據集
PlotOrientation.VERTICAL, // 圖表方向:水平、垂直
true, // 是否顯示圖例(對于簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
// 從這里開始
CategoryPlot plot = chart.getCategoryPlot();// 獲取圖表區域對象
CategoryAxis domainAxis = plot.getDomainAxis(); // 水平底部列表
domainAxis.setLabelFont(new Font("黑體", Font.BOLD, 14)); // 水平底部標題
domainAxis.setTickLabelFont(new Font("宋體", Font.BOLD, 12)); // 垂直標題
ValueAxis rangeAxis = plot.getRangeAxis();// 獲取柱狀
rangeAxis.setLabelFont(new Font("黑體", Font.BOLD, 15));
chart.getLegend().setItemFont(new Font("黑體", Font.BOLD, 15));
chart.getTitle().setFont(new Font("宋體", Font.BOLD, 20));// 設置標題字體
// 到這里結束,盡管代碼有點多,但僅僅為一個目的,解決漢字亂碼問題
frame1 = new ChartPanel(chart, true); // 這里也能夠用chartFrame,能夠直接生成一個獨立的Frame
}
private static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
List data = new ArrayList();
NewsDao dao = new NewsDao();
ArrayList list = dao.queryAll();
double value =0;
String rowKeys=null;
String columnKeys=null;
for (News news : list) {
//data.add(new News(news.getNewsId(), news.getTypeId(), news
//.getTitle(), news.getPublishTime(), news.getBody(), news
//.getTag(), news.getAuthor(), news.getClicks(), news
//.getImgUrl()));
value = news.getNewsId();
rowKeys = news.getTitle();
columnKeys = news.getAuthor();
dataset.addValue(value, rowKeys, columnKeys);
System.out.println(value+" "+rowKeys+" "+columnKeys);
}
//if(value!=0&&rowKeys!=null&&columnKeys!=null){
//System.out.println(value+" "+rowKeys+" "+columnKeys);
//dataset.addValue(value, rowKeys, columnKeys);
//}
//dataset.addValue(100, "北京", "蘋果");
//dataset.addValue(100, "上海", "蘋果");
//dataset.addValue(100, "廣州", "蘋果");
//dataset.addValue(200, "北京", "梨子");
//dataset.addValue(200, "上海", "梨子");
//dataset.addValue(200, "廣州", "梨子");
//dataset.addValue(300, "北京", "葡萄");
//dataset.addValue(300, "上海", "葡萄");
//dataset.addValue(300, "廣州", "葡萄");
//dataset.addValue(400, "北京", "香蕉");
//dataset.addValue(400, "上海", "香蕉");
//dataset.addValue(400, "廣州", "香蕉");
//dataset.addValue(500, "北京", "荔枝");
//dataset.addValue(500, "上海", "荔枝");
//dataset.addValue(500, "廣州", "荔枝");
return dataset;
}
public ChartPanel getChartPanel() {
return frame1;
}
public static void main(String[] args) {
JFrame frame = new JFrame("Java數據統計圖");
// frame.setLayout(new GridLayout(2,2,10,10));
frame.add(new BarChart().getChartPanel()); // 加入柱形圖
// frame.add(new BarChart1().getChartPanel()); //加入柱形圖的還有一種效果
// frame.add(new PieChart().getChartPanel()); //加入餅狀圖
// frame.add(new TimeSeriesChart().getChartPanel()); //加入折線圖
frame.setBounds(50, 50, 800, 600);
frame.setVisible(true);
}
}其它類就不上代碼了,跟你平時連數據庫一樣。
看張效果圖:[數據亂寫的]
Java讀取數據庫數據生成柱狀圖
標簽:type???space???height???time()???set???tor???統計圖???article???undefined
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:http://www.cnblogs.com/yutingliuyl/p/6852630.html
總結
以上是生活随笔為你收集整理的java传入数据库生成柱状图_Java读取数据库数据生成柱状图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Framework 1.0/1.1中No
- 下一篇: 华为手机云闪付付款码如何截图_云闪付乘车