最近开发时,要对一些东西进行统计时用到了JFreeChart画图,所以稍微研究了一下JFreeChart,下面是画饼图的方法的部分代码:
/**
* 饼图
*/
private JFreeChart getPieChart() {
String sql = "select count(id) num,modulename mname from tongji group by mname";
List list = getList(sql);
//创建DefaultPieDataset数据集
DefaultPieDataset dpd = new DefaultPieDataset();
for (Object obj : list) {
Map<String, Object> map = (Map<String, Object>) obj;
//添加数据
dpd.setValue((String) map.get("mname"), (Number) map.get("num"));
}
//创建绘制3D效果饼形图的JFreeChart实例
JFreeChart chart = ChartFactory.createPieChart3D("图片标题",// 图片标题
dpd, // 绘图数据集
true, // 设定是否显示图例
false, // 设定是否显示图例名称
false); // 设定是否生成链接
//当需要在图片上显示中文时,建议不要使用反锯齿功能,这样能够保证汉字的清晰度
chart.setAntiAlias(true);//是否启用反锯齿功能
chart.setBackgroundPaint(Color.LIGHT_GRAY);//设置背景色
//可以自行定义图表标题的字体、样式、大小和颜色等
TextTitle title = chart.getTitle();
title.setFont(new Font("黑体", Font.BOLD, 20)); //标题字体
title.setPaint(Color.BLACK);//标题字体颜色
title.setBackgroundPaint(Color.WHITE);//标题背景
LegendTitle legend = chart.getLegend();//得到图例对象
legend.setBackgroundPaint(Color.WHITE);//图例背景
legend.setItemFont(new Font("宋体", Font.ITALIC, 12)); // 图例的字体
legend.setPosition(RectangleEdge.BOTTOM);//图例位置
//通过绘图区对象设置饼状图的效果
PiePlot plot = (PiePlot) chart.getPlot();//得到绘图区对象
plot.setLabelFont(new Font("宋体", Font.ITALIC, 12)); // 图片上的文字的字体
plot.setOutlineStroke(new BasicStroke(1));//边框粗细
plot.setOutlinePaint(Color.GRAY);//边框颜色
plot.setCircular(false);//默认为圆形,建议在绘制3D效果图时将其设为False
plot.setStartAngle(90);// 设置第一部分 的开始位置
plot.setDirection(Rotation.ANTICLOCKWISE);//设置绘制方向为逆时针
plot.setForegroundAlpha(0.65f);// 指定图片的透明度
String unitSytle = "{0}={1}({2})"; //样式: A部分=35(15.98%)
plot.setLabelGenerator(new StandardPieSectionLabelGenerator(unitSytle,
NumberFormat.getNumberInstance(), new DecimalFormat("0.00%")));// 引出标签显示样式
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
unitSytle, NumberFormat.getNumberInstance(), new DecimalFormat("0.00%")));// 图例显示样式
//没有数据时显示的内容
plot.setNoDataMessage("无对应的数据,请重新查询。");
plot.setNoDataMessagePaint(Color.red);
plot.setNoDataMessageFont(new Font("黑体", Font.BOLD, 20));
return chart;
}
有了JFreeChart对象,剩下的工作就非常简单了,如果只是显示一下可以:
JFreeChart chart = getPieChart();
ChartFrame pieFrame = new ChartFrame("统计图", chart);
pieFrame.pack();
pieFrame.setVisible(true);
还可以生成一张本地图片,保存在磁盘上:
try {
File file = new File("D:/tj.png"); //保存的位置
ChartUtilities.saveChartAsPNG(file,chart,800,500);//保存为长为:800,高为500
} catch (IOException e) {
e.printStackTrace();
}
- 大小: 39.2 KB
分享到:
相关推荐
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括饼图、柱状图等,并且能够与数据库进行交互,为数据分析和可视化提供便利。在这个MyEclipse项目中,你将找到如何利用JFreeChart来实现这些...
JavaSE学习时候都可以看这个例子了,注意几个标题区别,别的没什么可说的。 我在做得时候发现不支持汉字,这个我想可以解决的。 我会抽空仔细看看代码~\(≧▽≦)/~啦啦啦 ...jfreechart饼图例子
JFreeChart是一款强大的Java图形库,它允许开发者创建多种类型的图表,包括饼图、折线图、柱状图、散点图以及更多其他类型的图表。这个资料包包含了JFreeChart的核心库(jfreechart-1.0.16.jar)和其依赖库JCommon...
jfreechart ,fusionchart 饼图 折线图 等实例
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括饼图、柱状图和折线图。在Java应用中,JFreeChart是一个不可或缺的工具,尤其在数据分析、报表生成或可视化数据的场景下。下面我们将深入...
在IT领域,特别是数据可视化方面,JFreeChart是一款非常受欢迎且功能强大的开源Java图表库,它支持多种类型的图表,如折线图、柱状图、饼图等,为开发者提供了丰富的API来创建高质量的统计图表。本文将详细介绍如何...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的高质量图表,如饼图、柱状图、线形图、散点图等。这个库在IT行业中被广泛应用于数据分析、报表生成以及各种可视化应用中。在给定的压缩包文件中,...
1.JFreeChart中的org下的demo属于官方的,可以在jfreechart-1.0.11.zip中找到。cn下的demo自己编写的,在win32+jdk1.6+jfreechart-1.0.11下调试通过。 2.JFreeChartDemo下的demo部署在apache-tomcat-6.0.32下调试...
JFreeChart是一个开源的Java图表库,它可以生成多种类型的图表,如饼图、柱状图、线图等。在投票系统中,JFreeChart用于根据投票数据生成统计图表,帮助用户直观地了解投票结果。开发者可以通过设置各种参数来自定义...
JFreeChart是一个开源项目,提供了一系列接口和类来生成高质量的2D图表,支持多种图表类型,如饼图、柱状图、线图、散点图等。它的API设计灵活,能够方便地集成到Web应用、桌面应用或其他Java项目中。 创建饼形图的...
### JFreeChart生成饼图知识点详解 #### 一、引言 在Web开发中,图表是一种非常有效的数据可视化工具,能够帮助用户更直观地理解数据。`JFreeChart`是Java平台上的一个开源图表库,提供了丰富的图表类型,包括柱状...
jfreechart百分比在饼上, 有分离的饼。 private static JFreeChart createChart(PieDataset piedataset) { JFreeChart jfreechart = ChartFactory.createPieChart("Pie Chart Demo 2", piedataset, true, true, ...
**JFreeChart图形控件详解** JFreeChart是一款强大的开源Java库,用于生成高质量的图表。这个库提供了丰富的图表类型,包括饼状图、柱形图、折线图、区域图、时序图、甘特图和仪表盘,以及组合图,能够满足各种数据...
对于Java开发者来说,JFreeChart库是一个强大的工具,能够帮助我们轻松地生成包括饼图在内的多种图表。在这个场景中,我们需要的两个关键的JAR包——`jcommon-1.0.0-rc1.jar`和`jfreechart-1.0.0-rc1.jar`,它们是...
JFreeChart是一款强大的Java图形库,它允许开发者创建各种类型的统计图表,如饼图、柱状图、线图、散点图等。在Java应用程序中,JFreeChart为数据可视化提供了丰富的功能,使得数据的展示更为直观易懂。在本教程中,...
jfreechart-1.0.8a-swt.jar jfreechart-1.0.8a.jar jfreechart-1.0.8a-experimental.jar jcommon-1.0.12.jar gnujaxp.jar 及网上找到的简单的饼图和柱状图的用例(jfreechart.exe帮助文件)
### jfreechart饼图简单示例 #### 一、引言 `jfreechart`是一款功能强大且开源的Java图表库,它支持多种类型的图表绘制,包括饼图、柱状图、折线图等。本篇文章将通过一个简单的示例来介绍如何使用`jfreechart`来...
JFreeChart是一款强大的Java图形库,它允许开发者在Java应用程序或网页中生成高质量的图表,包括饼图和环图。本教程将详细讲解如何利用JFreeChart库在2020年10月12日的技术实践中生成这两种图表。 首先,我们需要...