JFreeChart 之柱状图
JFreeChart 之柱状图
一、JFreeChart 简介
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
二、JFreeChart 的使用
官方网站:http://www.jfree.org/
下载地址:https://sourceforge.net/projects/jfreechart/files/1.%20JFreeChart/
1、拷贝相关的 Jar (jcommon-1.0.23.jar和jfreechart-1.0.19.jar)到 Java 项目中
2、柱状图示例(LineChart.java)
- package cn.com.zfc.jfreechart;
- import java.awt.Font;
- import java.io.File;
- import java.io.IOException;
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartFrame;
- import org.jfree.chart.ChartUtilities;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.axis.CategoryAxis3D;
- import org.jfree.chart.axis.NumberAxis3D;
- import org.jfree.chart.axis.NumberTickUnit;
- import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
- import org.jfree.chart.plot.CategoryPlot;
- import org.jfree.chart.plot.PlotOrientation;
- import org.jfree.chart.renderer.category.BarRenderer3D;
- import org.jfree.data.category.DefaultCategoryDataset;
- /**
- * @describe 使用 JFreeChart 技术画柱状图
- * @author zfc
- * @date 2017年12月27日 下午4:03:56
- */
- public class BarChart3D {
- public static void main(String[] args) {
- /* 1、数据集对象 DefaultCategoryDataset */
- DefaultCategoryDataset dataset = new DefaultCategoryDataset();
- /* 2、数据集对象 DefaultCategoryDataset 中添加数据 */
- dataset.addValue(98, "数学", "张三");
- dataset.addValue(87, "语文", "张三");
- dataset.addValue(68, "数学", "李四");
- dataset.addValue(89, "语文", "李四");
- dataset.addValue(56, "数学", "王五");
- dataset.addValue(96, "语文", "王五");
- /* 3、创建图形对象 JFreeChart:主标题的名称,图标显示的数据集合,是否显示子标题,是否生成提示的标签,是否生成URL链接 */
- JFreeChart chart = ChartFactory.createBarChart3D("成绩统计表", "学生姓名", "分数", dataset, PlotOrientation.VERTICAL, true,
- true, true);
- /* 4、处理乱码 */
- // 处理主标题的乱码
- chart.getTitle().setFont(new Font("宋体", Font.BOLD, 18));
- // 处理子标题乱码
- chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 15));
- /* 5、获取图表区域对象 CategoryPlot */
- CategoryPlot categoryPlot = (CategoryPlot) chart.getPlot();
- // 获取X轴的对象
- CategoryAxis3D categoryAxis3D = (CategoryAxis3D) categoryPlot.getDomainAxis();
- // 获取Y轴的对象
- NumberAxis3D numberAxis3D = (NumberAxis3D) categoryPlot.getRangeAxis();
- // 处理X轴上的乱码
- categoryAxis3D.setTickLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理X轴外的乱码
- categoryAxis3D.setLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理Y轴上的乱码
- numberAxis3D.setTickLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理Y轴外的乱码
- numberAxis3D.setLabelFont(new Font("宋体", Font.BOLD, 15));
- // 处理Y轴上显示的刻度,以10作为1格
- numberAxis3D.setAutoTickUnitSelection(false);
- NumberTickUnit unit = new NumberTickUnit(10);
- numberAxis3D.setTickUnit(unit);
- // 获取绘图区域对象
- BarRenderer3D barRenderer3D = (BarRenderer3D) categoryPlot.getRenderer();
- // 设置柱形图的宽度
- barRenderer3D.setMaximumBarWidth(0.07);
- // 在图形上显示数字
- barRenderer3D.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
- barRenderer3D.setBaseItemLabelsVisible(true);
- barRenderer3D.setBaseItemLabelFont(new Font("宋体", Font.BOLD, 15));
- /* 8、生成相应的图片 */
- File file = new File("I:/BarChart3D.JPEG");
- try {
- ChartUtilities.saveChartAsJPEG(file, chart, 800, 600);
- } catch (IOException e) {
- e.printStackTrace();
- }
- // 使用ChartFrame对象显示图像
- ChartFrame frame = new ChartFrame("zfc", chart);
- frame.setVisible(true);
- frame.pack();
- }
- }
3、运行结果
JFreeChart 之柱状图的更多相关文章
- 使用jfreechart生成柱状图、折线图、和饼状图
JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.下面我就详细介绍如 ...
- SSH框架通过JFreeChart实现柱状图和获取项目路径
获取项目路径:String url= ServletActionContext.getRequest().getRealPath("/upload"); 一.直接生成的图片输出到j ...
- 如何使用Jfreechart生成柱状图?
JFreeChart是JAVA平台上的一个开放的图表绘制类库. 首先 (http://www.jfree.org /jfreechart) 总这个网址下载所需要的库,然后解压,放在某个地方. 我们默认 ...
- 使用JFreeChart创建柱状图的工具类
package cn.xfz.oa.util; import java.awt.Font; import java.util.List; import org.jfree.chart.ChartFac ...
- 使用JFreeChart实现基于Web的柱状图
JFreeChart是一组功能强大.灵活易用的 Java绘图 API,使用它可以生成多种通用性的报表,包括柱状图.饼图.曲线图等.它能够用在 Swing和 Web等中制作自定义的图表或报表,并且得到广 ...
- SpringMVC框架下使用jfreechart绘制折线图,柱状图,饼状图
java代码 @Controller public class CityAction { @Autowired private CityBiz cityBiz; //柱状图 @RequestMappi ...
- JFreeChart插件使用
以java project为例,首先需要导入需要的jar包:jcommon-1.0.23.jar, jfreechart-1.0.19.jar. 画饼状图示例: package com.it.jfch ...
- jsp小商城
一个小商城,当然,没淘宝那么厉害,只是那时学完j2ee后,发现java原来也可以做网站,学了数据库,servlet,jsp,当时是很惊喜的,可以直接做个这样的东西.而放到今天,学了更多之后,发现可以用 ...
- jfreeChart柱状图各属性详细设置
一. 下载与环境配置 此最新版本为 1.0.13 解压jfreechart-1.0.13.zip 将lib目录下的jfreechart-1.0.13.jar .jcommon-1.0.16.jar 复 ...
随机推荐
- Python之matplotlib库学习
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...
- 蓝牙Bluetooth技术手册规范下载【转】
蓝牙Bluetooth技术手册规范下载 http://www.crifan.com/summary_bluetooth_specification_download/ [背景] 之前就已经整理和转帖了 ...
- 福利爬虫妹子图之获取种子url
import os import uuid from lxml import html import aiofiles import logging from ruia import Spider, ...
- openstack新版本ocata的接口改动
新增placement API,部分替代了原先的nova api的部分功能接口 可在此页面查看API详情及示例:https://specs.openstack.org/openstack/nova-s ...
- css 悬浮框
<style> .xfk { display: block; position: fixed; top: 150px; lef ...
- centos系统初始化脚本
#!/bin/bash #检测是否为root用户 ];then echo "Must be root can do this." exit fi #检测网络 echo " ...
- tomcat6和tomcat7管理用户manager配置
tomcat用户登录文件配置 如果想要对部署在tomcat上的项目进行管理查看,需要在tomcat安装目录conf文件夹下的tomcat-user.xml里添加用户登录权限.具体添加的内容如下: To ...
- ThinkPHP 框架2.1,2.2和3.0版本开启lite模式导致URL命令执行漏洞
在开启了Lite模式后,在ThinkPHP/extend/Mode/Lite/Dispatcher.class.php中第73行: // 解析剩余的URL参数 $res = preg_replace( ...
- MyEclipse 2015反编译插件安装
本文转自 MyEclipse 2015反编译插件安装 分享一下下载插件的地址,百度网盘:链接:http://pan.baidu.com/s/1nturiAH 密码:yk73 其次:我来说下具体操作步骤 ...
- 【ES】学习4-结构化搜索
1. 结构化搜索得到的结果只有是和否,没有相似概念. term可以实现精确值查询 curl -XGET 'localhost:9200/logstash-cowrie/_search?pretty' ...