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、饼图示例(PieChart3D.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.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset; /**
* @describe 使用JFreeChart 技术画饼图
* @author zfc
* @date 2017年12月27日 下午4:43:07
*/
public class PieChart3D {
public static void main(String[] args) {
/* 1、创建饼形图数据集对象 DefaultPieDataset */
DefaultPieDataset dataset = new DefaultPieDataset();
/* 2、往饼形图数据集对象 DefaultPieDataset 中添加数据 */
dataset.setValue("张三", 40);
dataset.setValue("李四", 32);
dataset.setValue("王五", 28); /* 3、创建图形对象 JFreeChart:主标题的名称,图标显示的数据集合,是否显示子标题,是否生成提示的标签,是否生成URL链接 */
String title = "比重统计报表(所属单位)";
JFreeChart chart = ChartFactory.createPieChart3D(title, dataset, true, true, true); /* 4、处理乱码 */
// 处理主标题的乱码
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 18));
// 处理子标题乱码
chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 15));
/* 5、获取饼形图图表区域对象 PiePlot3D */
PiePlot3D categoryPlot = (PiePlot3D) chart.getPlot();
/* 6、处理图像上的乱码 */
categoryPlot.setLabelFont(new Font("宋体", Font.BOLD, 15));
/* 7、设置图形的生成数据格式为(张三 40 (40%)) */
String format = "{0} {1} ({2})";
categoryPlot.setLabelGenerator(new StandardPieSectionLabelGenerator(format)); /* 8、生成相应的图片 */
File file = new File("I:/PieChart3D.JPEG");
try {
ChartUtilities.saveChartAsJPEG(file, chart, 800, 600);
} catch (IOException e) {
e.printStackTrace();
} /* 9、使用 ChartFrame 对象显示图像:title是标题,chart是前面程序JFreeChart定义的变量名,true表示是否设置滚动条 */
title = "zfc";
ChartFrame chartFrame = new ChartFrame(title, chart, true);
// 图形是否可见
chartFrame.setVisible(true);
// 以合适的大小展现图形
chartFrame.pack();
} }
3、运行结果

JFreeChart 之饼图的更多相关文章
- JFreeChart 使用一 饼图之高级特性
原文链接:http://www.cnblogs.com/jtmjx/archive/2013/04/23/jfreechart_advantage.html 本文主要讲解JFreeChart中饼图的一 ...
- JFreeChart入学教程
JFreeChart入学教程 2011-08-08 14:55:19| 分类: 技术篇 |举报 |字号 订阅 JFreeChart 是一组功能强大.灵活易用的Java绘图API,使用它可以生成多 ...
- jfreechart应用1--环境配置
jfreechart应用1--环境配置 JFreeChart是一组功能强大.灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图.饼图.曲线图.甘特图等.它能够用在Swing和We ...
- java利用JFreeChart实现各种数据统计图(柱形图,饼图,折线图)
最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给用户,这就要用到数据统计图,要实现这个功能就需要几个第三方包了: 1. jfreechart-1.0.13.jar 2. ...
- JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)
import java.awt.BasicStroke; import java.awt.Color; import java.io.FileOutputStream; import java.io. ...
- struts2整合JFreechart 饼图、折线图、柱形图
struts2整合JFreechart 饼图.折线图.柱形图 上效果图: 当然可以将数据导出图片格式存储.具体下的链接里的文件有保存成图片的操作. 因为是strust2整合JFreechart,所以s ...
- Jfreechart 生成不同数据源多个饼图(Multiple Pie Chart)
http://blog.163.com/ppy2790@126/blog/static/103242241201210130736274/ 项目中要用JfreeChart实现不同数据源多个饼图展现每个 ...
- Jfreechart初案例--饼图
1.action @Controller(value = "pieAction") @Scope("prototype") public class PieAc ...
- [四]JFreeChart实践三之饼图
饼图pie 原理总结 1.准备好要显示的数据放入dataset 2.调用ChartFactory将dataset作为参数传递进去,生成chart 3.掉Servlet工具类将chart作为参数传入生成 ...
随机推荐
- Python数据分析初始(一)
基础库 pandas:python的一个数据分析库(pip install pandas) pandas 是基于 NumPy 的一个 python 数据分析包,主要目的是为了 数据分析 .它提供了大量 ...
- Content-Type:几种常用数据编码格式
Content-Type: 用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据. 内容类型,一般指网页中存在的Content-Type,Content-Type属性指定请 ...
- SQL记录-PLSQL记录
PL/SQL记录 PL/SQL记录就是可以容纳不同类型的数据项的数据结构.记录由不同字段,类似于数据库表的行. 例如,要保留跟踪图书馆中的书籍.可能要跟踪有关每本书下面的属性类似:标题,作者,主题 ...
- bzoj千题计划175:bzoj1303: [CQOI2009]中位数图
http://www.lydsy.com/JudgeOnline/problem.php?id=1303 令c[i]表示前i个数中,比d大的数与比d小的数的差,那么如果c[l]=c[r],则[l+1, ...
- Spring Cloud (十三) Zuul:静态路由、静态过滤器与动态路由的实现
前言 本文起笔于2018-06-26周二,接了一个这周要完成的开发任务,需要先等其他人的接口,可能更新的会慢一些,还望大家见谅.这篇博客我们主要讲Spring Cloud Zuul.项目地址:我的gi ...
- yii2框架目录
框架目录结构 [目录] backend——后台web程序 common——公共的文件 console——控制台程序 environments——环境配置 frontend——前台web程序 [文件] ...
- VIM 配置随手记
刚开始使用VIM, 主要想用它来写python. 目标是颜色比较舒适, 并且能够自动换行自动补全. .vimrc 设置 这是类似 .bashrc 的配置文件, vim 的各种配置都可以在里面实现. 一 ...
- 深入浅出js事件
深入浅出js事件 一.事件流 事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念是为了解决页面中事件流(事件发生顺序)的问题. <div id="outer"> & ...
- Visual Studio 配置 Avalon 自动补全
以VS2013为例: 1.关闭 Visual Studio 2.打开 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packa ...
- Dream_Spark-----Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码
Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码 本讲内容: a. 在线动态计算分类最热门商品案例回顾与演示 b. 基于案例贯通Spark Streaming的运 ...