文章介绍了利用jfreechart来实现在java中的百分比饼图效果,有需要的同这可以参考一下。

一个显示百分比的饼图如下

实现代码

 代码如下 复制代码

import="org.jfree.chart.*,org.jfree.chart.plot.PiePlot,

org.jfree.data.general.DefaultPieDataset,

org.jfree.chart.servlet.ServletUtilities,

java.awt.*,org.jfree.chart.title.TextTitle"%>

import="org.jfree.chart.labels.StandardPieSectionLabelGenerator"%>

//设置数据集

DefaultPieDataset dataset = new DefaultPieDataset();

dataset.setValue("初中高级程序员", 0.52);

dataset.setValue("项目经理", 0.1);

dataset.setValue("系统分析师", 0.1);

dataset.setValue("软件架构师", 0.1);

dataset.setValue("其他", 0.18);

//通过工厂类生成JFreeChart对象

JFreeChart chart = ChartFactory.createPieChart3D("IT行业职业分布图",

dataset, true, false, false);

PiePlot pieplot = (PiePlot) chart.getPlot();

//一块突出的饼图,在网上搜了好久也没找到可行的实现方式,欢迎大侠指导 <?后期如果找到解决方法再来做修改 ?>

//pieplot.setExplodePercent("A",0.3D);//炸开的饼图,目前实现还有问题

//DecimalFormat:

//NumberFormat:

//StandardPieSectionLabelGenerator:

//setLabelGenerator():

DecimalFormat df = new DecimalFormat("0.00%");//获得一个DecimalFormat对象,主要是设置小数问题

NumberFormat nf = NumberFormat.getNumberInstance();//获得一个NumberFormat对象

StandardPieSectionLabelGenerator sp = new StandardPieSectionLabelGenerator(

"{0}{2}", nf, df);//获得StandardPieSectionLabelGenerator对象

pieplot.setLabelGenerator(sp);//设置饼图显示百分比

//没有数据的时候显示的内容

pieplot.setNoDataMessage("无数据显示");

pieplot.setCircular(false);

pieplot.setLabelGap(0.02D);

pieplot.setIgnoreNullValues(true);//设置不显示空值

pieplot.setIgnoreZeroValues(true);//设置不显示负值

//标题文字乱码  IT行业职业分布图

TextTitle textTitle = chart.getTitle();

textTitle.setFont(new Font("宋体", Font.PLAIN, 20));

//饼上的文字乱码

PiePlot plot = (PiePlot) chart.getPlot();

plot.setLabelFont(new Font("宋体", Font.PLAIN, 12));

//图例文字乱码 饼图下面的5个说明

chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));

String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300,

null, session);

String graphURL = request.getContextPath()

"/DisplayChart?filename=" filename;

%>

饼状图2(加上百分比并突出显示某块)

usemap="#">

java饼图_java 百分比饼图的实现代码相关推荐

  1. html5饼图添加百分比,饼图如何显示数据和百分比

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 饼图显示数据和百分比的存在方法如下: 1.选中表格区域的数据,点击插入,点击所有图表,选择饼图. 2.右击选择添加数据标签,点击更 ...

  2. java图像增强_java图片对比度调整示例代码

    前言 本文主要给大家介绍了关于java图片对比度调整的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 测试代码 public static void main(Stri ...

  3. java冗余_Java使用lombok消除冗余代码的方法步骤

    一.项目背景 在写Java程序的时候经常会遇到如下情形: 新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法. lombok项目的产生就是为了 ...

  4. java 条件编译_Java条件编译:如何防止代码块被编译?

    Java条件编译:如何防止代码块被编译? 我的项目需要Java 1.6进行编译和运行. 现在,我有一个要求使其与Java 1.5一起使用(从市场营销方面). 我想替换方法主体(返回类型和参数保持相同) ...

  5. java来电_JAVA来电显示接口调用代码实例

    代码描述:基于JAVA的来电显示接口调用代码实例 关联数据:手机固话来电显示 接口地址:http://www.juhe.cn/docs/api/id/72 import java.io.Buffere ...

  6. java 二分法_java实现二分法的完整代码

    二分法查找,顾名思义就是要将数据每次都分成两份然后再去找到你想要的数据,我们可以这样去想,二分法查找很类似与我们平时玩的猜价格游戏,当你报出一个价格时裁判会告诉你价格相对于真实值的高低,倘若是低了那我 ...

  7. java排他_Java排他锁实现的代码详解

    这篇文章主要介绍了Java编程实现排他锁的相关内容,叙述了实现此代码锁所需要的功能,以及作者的解决方案,然后向大家分享了设计源码,需要的朋友可以参考下. 一 .前言 某年某月某天,同事说需要一个文件排 ...

  8. java generate()_Java IntStream generate()用法及代码示例

    IntStream generate(IntSupplier s)返回一个无限顺序无序流,其中每个元素由提供的IntSupplier(提供int值的结果)生成.这适用于生成恒定流,随机元素流等. 用法 ...

  9. java formatter()_Java Formatter locale()用法及代码示例

    locale()方法是java.util.Formatter的内置方法,该方法返回语言环境.此区域设置由格式化程序构造设置.具有语言环境参数的该对象的format方法不会更改此值. 用法: publi ...

最新文章

  1. 教你如何编写第一个爬虫
  2. mysql增量同步kafka_canal解析mysql的binlog实时推送到kafka
  3. 英国继银行被窃之后 信贷公司Wonga数十万客户数据被泄
  4. Daily Scrum9 11.13
  5. [PHP 安全] pcc —— PHP 安全配置检测工具
  6. mysql5.7.17的linux安装,linux下mysql5.7.17最新稳定版本安装教程
  7. JDK 12的Files.mismatch方法
  8. 在django中使用vue.js需要注意的地方
  9. SpringBoot→初始化项目just run@SpringBootApplication、请求处理@RequestMapping、属性配置yml
  10. 【单目标优化求解】基于matlab遗传算法求解非线性目标函数最小值问题【含Matlab源码 1574期】
  11. yb3防爆电机型号含义_【产品信息】防爆充电机
  12. SVN安装配置以及启动
  13. 案例上手 Spring 全家桶
  14. Linux操作系统原理与应用(陈莉君)
  15. APP开发究竟需要多少钱?
  16. 关于NBIoT的知识
  17. 使用Eclipse把java文件打包成jar
  18. 物质、分子、原子、原子核、中子、质子、电子、量子、离子的区别
  19. faststone capture使用长截图(滚动截图)功能教程
  20. ReactNative ./gradlew assembleRelease打包失败Duplicate file

热门文章

  1. 特斯拉设计师评苹果造车:痴人说梦,缺乏创新
  2. PostgreSQL高效分区表实现-pg_pathman
  3. 安装torchvision-0.12.0+cu113版本
  4. 音频/面板资源管理器_AudioPanelManager
  5. antd 嵌套表格 没有子项隐藏图标
  6. Word VBA中的光标操作
  7. 解决VirtualBox虚拟电脑控制台严重错误
  8. Stata——固定效应模型、随机效应模型、混合效应模型(区别、实例)
  9. 计算机哪里找产品密钥,计算机windows的密钥在哪里可以找到?
  10. 1.13 新概念 否定疑问句 半否定 全否定