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 ...
随机推荐
- mybatis 关联查询
1.关联的两个实体类 外部类 parent public class Parent{ private String parentId; private String parentName; priva ...
- dedecms手机网站内页上一篇/下一篇的翻页功能
修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...
- Zynq7000系列之芯片引脚功能综述
很多人做了很久的FPGA,知道怎么去给信号分配引脚,却对这些引脚的功能及其资源限制知之甚少:在第一章里对Zynq7000系列的系统框架进行了分析和论述,对Zynq7000系列的基本资源和概念有了大致的 ...
- canvas一周一练 -- canvas绘制饼图(3)
运行效果: <!DOCTYPE html> <html> <head> </head> <body> <canvas id=" ...
- vue中的input使用e.target.value赋值的问题
很久不写博客了... vue中对表单的处理,相对原生js,增加了一个双向绑定的语法糖:v-model.官方文档里有一段: v-model 会忽略所有表单元素的 value.checked.select ...
- 使用Way.EntityDB进行Entity Framework Core数据库建模
Way.EntityDB是一个基于EF Core的数据层框架,它取消了EF Core的Migration机制,因为Migration并不是通用的,比如说sql server生成的migration,如 ...
- IDEA中springboot项目打包成jar
springboot的打包方式有很多种.有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的.这里主要介绍如何打成jar进行部署.不推荐用war,因为spri ...
- ThinkPHP---thinkphp模型(M)拓展
(1)创建数据对象 数据对象就是父类模型中的$this->data,AR模式的底层数据操作用到了数据对象.模型实例化之前数据对象只是空数组,后来使用了魔术方法__set设置了数据对象的值. 上述 ...
- Linux kernel memory-faq.txt
## Linux kernel memory-faq.txt What is some existing documentation on Linux memory management? Ulric ...
- Gym - 101670H Go Northwest!(CTU Open Contest 2017 思维题+map)
题目: Go Northwest! is a game usually played in the park main hall when occasional rainy weather disco ...