JFreeChart-饼状图-初级

报表应用系列——图表JFreeChart:饼状图 3.1. 简单饼图  饼图必须使用DefaultPieDataset为图表提供数据。 3.1. 简单饼图   饼图必须使用DefaultPieDataset为图表提供数据。DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("Spring Security", 100); dataset 阅读详情
JFreeChart,开放源码的Java图表生成组件(基于LGPL Licence),可以创建饼图、 曲线图、柱状图、甘特图,生成PNG,JPG等图片格式文件。当前最新版本为0.9.11,右边是一张JFreeChart生成 的统计图。本文讲解如何在Web利用JFreeChart生成饼状统计图。
一 安装配置

当前最新版本为0.9.11
下载jfreechart-0 .9.11.zip
下载jfreechar t-0.9.11.tar.gz

解压缩文件,jfreechart-0.9.11目录下的jfreechart-0.9.11.jar和 lib/jcommon-0.8.6.jar,lib/gnujaxp.jar都是开发运行需要的文件,把这三个文件放置到应用的lib目录下。

然后在web.xml文件中增加以下内容:

  <servlet>

    <servlet-name>DisplayChart</servlet-name>

    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>

  </servlet>
	
安装配置完成,现在可以写程序生成我们需要的统计图了。

二 开始,在JSP中生成饼型统计图

<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.data.DefaultPieDataset"%>
<%@ page import="org.jfree.chart.JFreeChart"%>
<%@ page import="org.jfree.chart.plot.PiePlot"%>
<%@ page import="org.jfree.chart.ChartRenderingInfo"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%

DefaultPieDataset data = new DefaultPieDataset();
data.setValue("六月",500);
data.setValue("七月",580);
data.setValue("八月",828); 

PiePlot plot = new PiePlot(data);

JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
chart.setTitle("www.SenTom.net 网站访问统计表");//可选,设置图片标题

ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
//500是图片长度,300是图片高度

String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 

%>
<HTML>
<HEAD>
       <TITLE>www.sentom.net</TITLE>
</HEAD>
<BODY>
<P ALIGN="CENTER">
       <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename 

%>">
</P>
</BODY>
</HTML>
	
就这么简单,生成的饼状图如下


三 高级,JSP+JAVABEAN生成饼状统计图

WebChart.java

/*
 * Created on 2003-9-9
 * http://www.sentom.net
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package net.sentom.chart;

import java.awt.Insets;
import java.awt.Font;
import java.io.PrintWriter;
import javax.servlet.http.HttpSession;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.chart.entity.*;
import org.jfree.chart.urls.*;
import org.jfree.chart.servlet.*;
import org.jfree.chart.labels.StandardPieToolTipGenerator;

/**
 * @author sentom
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class WebChart {
	private DefaultPieDataset data = new DefaultPieDataset();
	
	public void setValue(String key,double value){
		data.setValue(key,value);
	}
	
	public String generatePieChart(String title, HttpSession session, PrintWriter pw) {
		String filename = null;
		try {
			//创建chart对象
			PiePlot plot = new PiePlot(data);
			plot.setInsets(new Insets(0, 5, 5, 5));
			//在统计图片上建连结
			plot.setURLGenerator(new StandardPieURLGenerator("link.jsp","section"));
			plot.setToolTipGenerator(new StandardPieToolTipGenerator());
			JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, 

plot, true);
			
			chart.setBackgroundPaint(java.awt.Color.white);//设置图片的背景色
			
			Font font = new Font("黑体",Font.CENTER_BASELINE,20);//设置图片标题的字体

和大小
			TextTitle _title = new TextTitle(title);
			_title.setFont(font);
			chart.setTitle(_title);

			//把生成的图片放到临时目录
			ChartRenderingInfo info = new ChartRenderingInfo(new 

StandardEntityCollection());
			//500是图片长度,300是图片高度
			filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, 

session);

			ChartUtilities.writeImageMap(pw, filename, info);
			pw.flush();

		} catch (Exception e) {
			System.out.println("Exception - " + e.toString());
			e.printStackTrace(System.out);
			filename = "public_error_500x300.png";
		}
		return filename;
	}
}
	
JSP文件

<%@ page contentType="text/html;charset=GBK"%>
<%@ page import = "java.io.PrintWriter" %>
<%@ page import="net.sentom.chart.WebChart"%>
<%

WebChart chart = new WebChart();
chart.setValue("六月",500);
chart.setValue("七月",580);
chart.setValue("八月",828);

String filename = chart.generatePieChart("www.SenTom.net 网站访问统计表", session, new 

PrintWriter(out));
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;

%>
<HTML>
<HEAD>
	<TITLE>www.sentom.net</TITLE>
</HEAD>
<BODY>
<P ALIGN="CENTER">
	<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= 

filename %>">
</P>
</BODY>
</HTML>
	
生成的饼状图如下
Java通过JFreeChart实现(饼图、柱状图、层叠柱状图、折线图、散点图、雷达图、环形图、仪表盘图、XY图)生成图片和下载 2、工具类 2.1 JFreeChart工具类 2.2 GenerateChartUtil 图表生成工具类 2.3 GeneratePieChartUtil 饼图生成工具类 3、生成图片到本地测试代码类 3.1 生成饼图 3.1.1 调用方法 3.1.2 生成图片效果 3.2 生成3D饼图 3.2.1 调用方法 3.2.2 生成图片效果 3.3 生成柱状图 3.3.1 调用方法 3.3.2 生成图片效果 3.4.2 生 阅读详情

相关推荐

Java语言用jfreechart绘制柱状图、饼状图和时序图

1.柱状图: public void test1() {   try   {    //设置字体    StandardChartTheme sct = new StandardChartTheme("CN");    sct.setExtraLargeFont(new Font("隶书", Font.BOLD, 20));    sct.setRegularFont(new Fon

智多 2202

JFreeChart| 图解JFreeChar中的饼图(PieChart)

前言 本文主要讲解JFreeChart中饼图的一些特征。 内容如下: - 控制颜色和饼图片区的外廓 - null值和零值的处理 - 饼图片区的标签(定制文本,改变分配的比例空间) - “ 取出” 某个片区 - 多个饼图显示 - 显示3D效果的饼图 - 两种环形饼图 在上一篇文章中创建了一个简单的饼图。 在这里不做详细介绍了。 这里列出本文中使用的数据集: privat...

YvesHe的专栏 8425

jfreechart折线图+柱状图、柱状图(堆叠)+折线图、饼状图、环形图

记录jfreechart生成图片测试程,主要是为自己研究过之后的记录:) 折线图+柱状图 柱状图(堆叠)+折线图 获取饼状图 获取环形图 package com.zjhc.iiap.common; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Rectangle;...

srying的博客 2904

java导出pdf报告之六:使用jfreechart生成饼状图和柱状图

关于使用jfreechart生成饼状图和柱状图网上也有一大推,我在这里也不做太多介绍,就直接附上我的实现,并添加了一下注释,供大家参考。 生成饼状图: /** * @param name 图片的名称 * @param params 参数 * @param title 图片中要显示图片题目,如果不希望展示,需要送空字符串,不能送null * @return 图片的路径或获取地址 */...

Luxy_wang的博客 3647

Springboot整合 jfreechart, 实现纯后端生成 折线图、饼状图、柱状图

Springboot整合 jfreechart, 实现纯后端生成 折线图、饼状图、柱状图

默默不代表沉默 5166

[高级]JFreeChart API 及饼状图

JFreeChart API 及饼状图

私信可回答各种问题~ 1136

jsp上显示JFreeChart生成的饼状图

文件配置     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.

ZKLxuankai的专栏 7626

使用JFreeChart制作动态饼状图分析报表

JFreeChart是一个开源的Java库,专为创建各种图表提供解决方案,它广泛应用于商业智能、数据报告和科学数据分析领域。JFreeChart可以帮助开发者快速生成高质量的柱状图、折线图、饼状图等多种图表类型。尽管它在诞生之初就有着丰富的功能,但在技术快速发展的今天,JFreeChart仍然在不断优化,以满足现代应用的需求。JFreeChart是由David Gilbert开发的一个易于使用且功能强大的图表库,它支持2D和3D图表,并且完全兼容Java Swing和AWT。

weixin_29069575的博客 944

JFreeChart—— 饼状图

1. 依赖包 2. XML 文件配置 <servlet> <servlet-name>DisplayChart</servlet-name> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> &...

时光·漫步的博客 717

交流异步机VVVF变频控制simulink/matlab仿真分析

VVVF,是Variable Voltage and Variable Frequency的缩写, 意为:可变电压、可变频率,也就是变频调速系统。 VVVF控制的逆变器连接电机,通过同时改变频率和电压,达到磁通恒定(可以用反电势/频率近似表征)和控制电机转速(和频率成正比)的目的,所以多应用在变频器中,属于工业自动化领域。

Ezekiel_Mok的博客 4210

避坑指南:AUTOSAR FlashDriver操作DFlash模拟EEPROM时,你最容易忽略的5个细节

本文深入探讨了AUTOSAR FlashDriver在DFlash模拟EEPROM操作中最容易被忽视的五大细节问题,包括地址合法性检查、操作时序控制、并发访问冲突、电源稳定性管理和寿命管理。通过实际项目案例和工程化解决方案,帮助开发者避免常见陷阱,提升汽车电子控制单元(ECU)的可靠性和稳定性。

weixin_42741930的博客 247

饼状图实例 Java

现在,我们运行程序,就可以看到绘制出的饼状图窗口,展示了销售员的销售额占比情况。这只是一个简单的饼状图示例,你可以根据需要自定义数据集和图表样式,以及添加更多交互性和细节的功能。在数据可视化中,饼状图是一种常用的图表类型,通过展示不同数据类别的占比,直观地呈现数据分布的情况。在Java中,我们可以使用一些第三方库来方便地实现饼状图的绘制,比如使用JFreeChart库。首先,我们需要添加JFreeChart库的依赖,可以通过Maven或手动添加jar包的方式引入相关的库文件。最后,我们创建了一个。

牛肉胡辣汤 1909

​开源大模型实战:GLM-4.1V-Thinking本地部署教程(附API调用代码)

​在AI应用从“能用”向“好用”进阶的当下,​的需求愈发强烈:企业需保障数据安全(如医疗影像、金融报告不外传),开发者追求定制化能力(如微调模型适配垂直场景),科研团队则依赖离线环境处理敏感数据。智谱AI开源的​(10B级参数,支持图像、视频、文档多模态推理)凭借的优势,成为本地部署的热门选择。不过,对于“不想折腾技术”的普通用户或快速验证需求的团队而言,​,无需安装配置,打开即用,堪称“零门槛”体验的捷径。本文将分为两部分:先手把手教你​(适合有技术背景的用户),再对比介绍。

gogoMark的博客 1341

jfreechart饼状图

1.此项目的运行图片如下 2.先在项目张导入jfreechart包     我的资源里有,可以随意下载,不需要积分 3.在web.xml文件中增加如下配置:       DisplayChart     org.jfree.chart.servlet.DisplayChart          DisplayChart    /DisplayChart

mengtianbao的专栏 467

IPD(集成产品开发)管理之道

IPD,是集成产品开发(Integrated Product Development)的缩写,它是集成了众多管理模型和理论、众多企业最佳管理实践的一整套体系,可以帮助企业快速响应市场变化、缩短产品上市时间、减少资源浪费、提高生产力,最终取得商业成功。IPD的思想最早来源于美国PRTM公司出版的《产品及生命周期优化法》一书中,该书详细描述了IPD模式所包含的各个方面。但IPD在中国的普及,源于IBM和华为的推行使用。IPD作为一套先进的产品研发管理模式,其成功的基础是功能部门和各团队之间的密切配合。

钢镚·真的博客 2715

Mac用户必看:PD虚拟机网络初始化失败的3分钟修复指南(附详细截图)

本文针对Mac用户在Parallels Desktop(PD虚拟机)启动时遇到的“网络初始化失败”问题,提供了快速诊断与修复指南。核心原因是macOS系统更新后权限未正确授予。文章通过详细的三步修复法(关闭进程、修改配置文件、重新授权重启),帮助用户在3分钟内恢复虚拟机网络连接,并附有排查清单与预防建议。

weixin_29231027的博客 538

JFreeChart 生成 饼状图(Struts2 + Maven3 + JFreeChart)

转自:http://www.blogjava.net/fancydeepin/archive/2012/08/07/java_jfreechart_PieChart3D.html 接上一篇随笔 JFreeChart 生成 柱状图 ,环境及其配置不变,只是将生成柱状图的核心类 CylinderAction 替换成 PieAction,让 PieAction 来负责饼状图的生成,看下代码:

939

CodeX 登录报错 os error 10013?一键修复 CodeX 无法登录问题(亲测有效)

CodeX 登录时报 os error 10013?本文提供快速修复方案,实测有效,彻底解决登录报错:登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013)的问题💡

XiaoqiangClub的博客 2934

【JFreeChart】JFreeChart—输出饼状图

PieChartServlet.java package com.lmb.jfreechart; import java.awt.Font; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servl...

lmb55的专栏 1381

使用ggplot2包中的双Y轴功能在R语言中可视化时间序列数据,并在时序数据末尾添加数值标签是一种有效的数据展示方式

使用ggplot2包中的双Y轴功能在R语言中可视化时间序列数据,并在时序数据末尾添加数值标签是一种有效的数据展示方式。通过这种方式,我们可以同时展示两个变量的趋势,并在时序数据末尾添加数值标签,使得数据更加直观和易于理解。假设我们有一个包含两个变量的时间序列数据集,一个是时间变量,另一个是对应的数值变量。现在,我们可以使用ggplot2包来创建一个基本的时间序列图,其中包含两个数值变量。接下来,我们将添加一个双Y轴,并在时序数据末尾添加数值标签。函数在数值1的每个数据点上添加数值标签。

Orion_O的博客 271

华为OD机试 - 城市聚集度(Python/JS/C/C++ 2025 A卷 200分)

华为OD机试 2025A卷题库疯狂收录中,刷题。

学Java,找哪吒 1131

使用Jfreechart实现带热点的饼状图

JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图 (Gantt charts)等等多种图表,并且可以...

Saga 205

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JFreeChart简单例子_创建饼状图(出现乱码时设置一下各部分的字体)

导入包  jfreechart-1.0.14.jar,jcommon-1.0.17.jar package com.xk.jfreechart; import java.awt.Font; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfr

ZKLxuankai的专栏 5402

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 在选择文件的时候,控制选择文件类型
下一篇: 设置session的有效时间
cnham
博客等级 码龄24年 264粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值