java传入数据库生成柱状图_Java读取数据库数据生成柱状图

此案例是用swing显示数据的。须要引入jfreechart相关包。不同版本号可能包不同样。本人用的是

sql_question-426717.html

此案例在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);

}

}其它类就不上代码了,跟你平时连数据库一样。

看张效果图:[数据乱写的]

sql_question-426717.html

Java读取数据库数据生成柱状图

标签:type   space   height   time()   set   tor   统计图   article   undefined

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/yutingliuyl/p/6852630.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SVN系列操作(一)

SVN是什么? SVN是Subversion的简称,是一个开放源代码的版本控制系统,常用于软件开发项目中,实现代码、文档等的历史版本保存、共享和权限管理。 进入SVN本地目录,第一步操作就是update。 为什么呢?因为SVN是…

ubuntu-14.04.2-desktop使用方法

一、安装VMware Tools 1. 在VMware Workstation11.1.0下安装Ubuntu镜像:ubuntukylin-14.04.2-desktop-amd64.iso 2. 点击虚拟机菜单栏-安装VMware Tools。 3. 在Ubuntu系统光盘中找到VMwareTools-9.9.2-2496486.tar.gz,右键复制到“桌面”,然…

ubuntu 跟xshell的问题

有2个分析: 1:是windos的防火墙没有关闭 2:是虚拟机没有安装sshd服务器 ubuntu在CLI界面下输入:dpkg -l |grep ssh 因为是我安装过的sshd server 要是没有sshd server 就要输入 安装。 三:要是安装完之后 链接显示说…

Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...

一、前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目录&a…

ext springmvc mysql_基于ExtJs6前台,SpringMVC-Spring-Mybatis,resteasy,mysql无限极表设计,实现树状展示数据(treepanel)...

先从后台讲起1.表的设计2.mysql查询很容易,关键是要把id,text,parentId查出来/p>"http://mybatis.org/dtd/mybatis-3-mapper.dtd">SELECTbp.id,bb.name brandName,bp.name text,bp.photo_url photoUrl,bp.number,bp.add_time addTime,bp.modify_tim…

php说明代码怎么写,代码怎么写 - 起步 - PHP基础 - KK的小故事

起步 - 代码怎么写 作者&#xff1a;KK发表日期&#xff1a;2016.3.9要写PHP代码就需要建立.php后缀的文件,并且在文件里要以<?php 具体代码 ?>这样的形式来书写PHP代码我们在网站目录下新建一个叫index.php的文件,并在里面编写这样的代码:echo Hello World!;?>然后…

python中的计算符号

1、算数计算符号&#xff1a; - * /   //&#xff08;取整&#xff09;  %&#xff08;取余&#xff09;  **&#xff08;次方&#xff09; 1 >>> 682 143 >>> 9-34 65 >>> 3*46 127 >>> 16/28 8.09 >>> 9/2 10 4.5 11 >…

MySQL 索引优化全攻略

2019独角兽企业重金招聘Python工程师标准>>> 所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找。而用的最多,并且是mysql默认的就是二叉树算法 BTREE,通过BTREE算法建立索引的字…

MyEclipse 14 设置文件特定的打开方式

2019独角兽企业重金招聘Python工程师标准>>> 打开windows -> preferences&#xff1b; 转载于:https://my.oschina.net/AaronDMC/blog/755481

安装安全狗后php5.5无法访问,关于安全狗的详细介绍

这篇文章主要介绍了win2008 R2安装网站安全狗提示HTTP 错误 500.21的解决方法,需要的朋友可以参考下WINDOWS 2008 R2系统IIS7.5&#xff0c;在没安装网站安全狗前一切正常&#xff0c;安装网站安全狗3.3版后&#xff0c;有部分php网站无法访问。提示如下错误&#xff1a;HTTP 错…

Android 里的数据储存

数据持久化关于数据储存,这个话题已经被反复讨论过很多次了,我是不建议把网络存储这种方式纳入到数据储存的范围的,因为这个和Android没多少关系,因此就有如下的分类: 本地储存(也称之为数据持久化,包含文件储存,SharedPreferences,SQLite储存和ContentProvider(内容提供者)) 内…

[故障解决]Mysql爆出ERROR 1044 (42000)的错误怎么办?

情况如图&#xff0c;使用dvlopenhls可以登陆到这个host&#xff0c;并且可以查看里面的tables&#xff0c;但是使用tables其中的op_flow就会报错&#xff0c;查看了很多地方&#xff0c;有人说要改密码&#xff0c;有人说要grant给权限。五花八门&#xff0c;乱七八糟。其实这…

php如何拼接数组,PHP怎么合并数组

本篇文章主要给大家介绍PHP怎么实现两个数组合并&#xff0c;并且其中一个数组的值为下标&#xff0c;另一个数组的值为对应的值。PHP进行普通数组的合并&#xff0c;相信大家都已经有所掌握。但是对于新手朋友们来说&#xff0c;合并两个数组&#xff0c;新数组的下标和值分别…

php5 mongodb,ThinkPHP5之Mongodb使用技巧

安装composer require topthink/think-mongo目录结构实践安装完成之后&#xff0c;就根据文档中的介绍开始进行codeing了&#xff0c;但是……首先我们来看下官方的使用文档配置说明不要以为这样就能够正常的使用了&#xff0c;结果远比预想中的艰难直接爆了这样的错误&#xf…

spring boot 下载

spring boot 下载 posted on 2018-07-06 22:38 zhouixi 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/1-Admin/p/9275802.html

15个Java多线程面试题

2019独角兽企业重金招聘Python工程师标准>>> 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位&#xff0c;那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题&…

java 将3变为03,03 Java序列化引发的血案

1、前言《手册》第 9 页 “OOP 规约” 部分有一段关于序列化的约定【强制】当序列化类新增属性时&#xff0c;请不要修改 serialVersionUID 字段&#xff0c;以避免反序列失败&#xff1b;如果完全不兼容升级&#xff0c;避免反序列化混乱&#xff0c;那么请修改 serialVersion…

《The Pomodoro Technique》

番茄工作法&#xff0c;专注当下&#xff0c;远离拖延焦虑症 简介What to solveHow to useSome applications自我总结简介 番茄工作法是简单易行的时间管理方法&#xff0c;是由弗朗西斯科西里洛于1992年创立的一种相对于GTD更微观的时间管理方法。 What to solve 各种Deadline…

XCoreRedux框架:Android UI组件化与Redux实践

XCoreRedux框架:Android UI组件化与Redux实践 author: 莫川 https://github.com/nuptboyzhb/XCoreRedux源码Demo&#xff1a;https://github.com/nuptboyzhb/XCoreRedux使用android studio打开该项目。 目录结构 demo 基于xcore框架写的一个小demoxcore XCoreRedux核心代码库…

Gigaset ME/pure/pro体验:就是这个德味

Gigaset是何方神圣&#xff1f;可能大多数人都没有听过。但如果说起西门子&#xff0c;那各位肯定就会“哦”地一声明白了。实际上&#xff0c;Gigaset就是西门子旗下的手机品牌&#xff0c;当年世界上第一部数字无绳电话就是该品牌的产物&#xff0c;所以这次Gigaset在智能手机…