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<News> data = new ArrayList<News>();
NewsDao dao = new NewsDao();
ArrayList<News> 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读取数据库数据生成柱状图的更多相关文章
- java 读取数据库数据转化输出XML输出在jsp页面
因为老师实验报告要求,搭建服务端解析XML 下面代码实现转化XML格式也是在网上找的转化代码 输出在jsp页面以便于客户端解析是自己写的 一个类就解决了Test package tests; //三只 ...
- 读取数据库数据,并将数据整合成3D饼图在jsp中显示
首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) import java.io.IOException; import java.sql. ...
- jxl读数据库数据生成xls 并下载
1.所需jar jxl-2.6.10.jar jxls-core-1.0-RC-3.jar jxls-reader-1.0-RC-3.jar 2. excel修改行宽度封装 SheetColumn.j ...
- Java读取Excel数据
Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 下图是excel文件的路径和文件名 下图是exce ...
- java 读取CSV数据并写入txt文本
java 读取CSV数据并写入txt文本 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import ja ...
- C#使用SqlDataReader读取数据库数据时CommandBehavior.CloseConnection参数的作用
主要用在ExecuteReader(c)中,如果想要返回对象前不关闭数据库连接,须要用CommandBehavior.CloseConnection: CloseConnection解决了流读取数据模 ...
- Java将数据库数据导入EXCEL
一般的数据库数据怎么导入excel中呢??这让人非常疑惑,今天我找到了一个方法能够实现 须要导入一个第三方包下载地址 详细内容例如以下: 里面含有指导文档,index.html里面含有怎样读取数据库文 ...
- Spark使用Java读取mysql数据和保存数据到mysql
原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...
- 【助教】Java获取数据库数据展示
本文将给出一个最简单的Java查询数据库中一张表的数据并将查询结果展示在页面的例子. 实际上,我们要解决以下两个问题: Java与数据库交互(以JDBC为例) 数据展示在前台页面(以Servlet+J ...
随机推荐
- 使用纯css鼠标移入效果,炫酷的旋转正方体
首先我们需要创建几个盒子 </div> <div class="wrap"> <div class="cube"> < ...
- java设计模式之策略模式总结
策略模式的定义:(定义截自http://www.cnblogs.com/whgk/p/6087064.html) 1.策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立 ...
- XML解析——Java中XML的四种解析方式(转载 by 龍清扬)
XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. XML的解析方式分为四 ...
- HDU多校Round 8
Solved:2 rank:141 D. Parentheses Matrix n,m有一个小于6的时候是一种构造方法 答案是n + (m - 2) / 2 (n > m) 都大于6的时候 可以 ...
- vscode调试单个PHP脚本文件
1.安装完vscode里的debug插件后, 在WorkSpace setting:添加上php的可执行文件路径: 2.下载适合自己PHP版本的Xdebug 3.在PHP目录下的php.ini配置文件 ...
- Extjs获得组件值的方式
Extjs中找Form,Extjs找组件的方式: 1,Extjs.getCmp 2,通过组件之间的关系,up,down 结论: 1,form.getValues()和form.getForm().g ...
- [USACO] 奶牛零食 Treats for the Cows
题目描述 约翰经常给产奶量高的奶牛发特殊津贴,于是很快奶牛们拥有了大笔不知该怎么花的钱.为此,约翰购置了N(1≤N≤2000)份美味的零食来卖给奶牛们.每天约翰售出一份零食.当然约翰希望这些零食全部售 ...
- 使用scrapy 爬取酷狗音乐歌手及歌曲名并存入mongodb中
备注还没来得及写,共爬取八千多的歌手,每名歌手平均三十首歌曲算,大概二十多万首歌曲 run.py #!/usr/bin/env python # -*- coding: utf-8 -*- __aut ...
- loadrunner12 + ie11 无internet, 代码中文乱码
第一次用lr 录制的时候显示无internet, 在网上找了好久答案, 无非是ie路径设置,还有证书...... 都试过了不好用,自己研究一下午 , 最后发现是协议没对应上,http协议 ...
- Django-前后台的数据交互
Django 从后台往前台传递数据时有多种方法可以实现. 最简单的后台是这样的: from django.shortcuts import render def main_page(request): ...