JFreeChart 3D饼图

前面我们讲了  JFreeChart 折线图     JFreeChart 柱形图

1.JFreeChart 3D饼图:

1.所需要的架包:
 架包下载地址:架包下载 因为是我上传的免费下载。
下载后解压,所需的架包在lib文件夹中
2.编写Servlet控制类:
public static String getPieChart(HttpSession session) throws Exception {
		//创建数据集对象
		//如果要从数据库中获取数据
		//你只需把数据填写到此数据集中就OK了
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("黑心矿难", 1000);
		dataset.setValue("醉酒驾驶", 800);
		dataset.setValue("城管强拆", 400);
		dataset.setValue("医疗事故", 100);
		dataset.setValue("其他", 29);

		JFreeChart chart=ChartFactory.createPieChart3D("非正常死亡人数分布图", dataset, true, true, true);
		// 副标题
		chart.addSubtitle(new TextTitle("2016年度"));
		PiePlot pieplot=(PiePlot)chart.getPlot();
		pieplot.setLabelFont(new Font("宋体",0,11));
		// 设置饼图是圆的(true),还是椭圆的(false);默认为true  
		pieplot.setCircular(true);
		// 没有数据的时候显示的内容
		pieplot.setNoDataMessage("无数据显示");
		StandardPieSectionLabelGenerator standarPieIG = new StandardPieSectionLabelGenerator("{0}:({1}.{2})", NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance());  
		pieplot.setLabelGenerator(standarPieIG);  
		
		PiePlot3D pieplot3d = (PiePlot3D)chart.getPlot(); 
		//设置开始角度  
		pieplot3d.setStartAngle(120D);  
		//设置方向为”顺时针方向“  
		pieplot3d.setDirection(Rotation.CLOCKWISE);  
		//设置透明度,0.5F为半透明,1为不透明,0为全透明  
		pieplot3d.setForegroundAlpha(0.7F); 
		//最后返回组成的饼图数值
		String fileName=ServletUtilities.saveChartAsPNG(chart, 700, 500, null, session);
		return fileName;
	}
3.编写JSP显示页面:
<%@page import="com.java1234.chart.pie.PieChart3"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
	String fileName=PieChart3.getPieChart(session);
	System.out.println(fileName);
%>
<img src="DisplayChart?filename=<%=fileName %>" width="700" height="500" border="0"/>
</body>
</html>
4 .配置web.xml核心文件:
<servlet>
		<servlet-name>DisplayChart</servlet-name>
		<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>DisplayChart</servlet-name>
		<url-pattern>/DisplayChart</url-pattern>
	</servlet-mapping>
5.最后的显示效果:


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 jfreechart 生成时,可以通过设置渲染器(Renderer)来调整区域的颜色样式。以下是一个简单的示例: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot; import org.jfree.data.general.DefaultPieDataset; import org.jfree.chart.renderer.category.StandardPieSectionLabelGenerator; import java.awt.Color; public class PieChartExample { public static void main(String[] args) { // 创建数据集 DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("A", 20); dataset.setValue("B", 30); dataset.setValue("C", 50); // 创建并设置渲染器 JFreeChart chart = ChartFactory.createPieChart("Pie Chart Example", dataset, true, true, false); PiePlot plot = (PiePlot) chart.getPlot(); plot.setSectionPaint("A", new Color(255, 0, 0)); // 设置 A 区域的颜色为红色 plot.setSectionPaint("B", new Color(0, 255, 0)); // 设置 B 区域的颜色为绿色 plot.setSectionPaint("C", new Color(0, 0, 255)); // 设置 C 区域的颜色为蓝色 plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({2})")); // 设置标签格式 // 显示 ChartFrame frame = new ChartFrame("Pie Chart Example", chart); frame.pack(); frame.setVisible(true); } } ``` 在上面的示例中,通过调用 `setSectionPaint` 方法来设置各区域的颜色,可以传入一个 `Color` 对象或者表示颜色的字符串。同时也可以通过 `setSectionOutlinePaint` 方法设置区域的边界颜色。另外,还可以通过 `setLabelGenerator` 方法来设置标签的格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值