JFreeChart(2) 设置PieChart的一些属性

简介: 在上篇文章中已经讲了怎样生成一个PieChart,以及怎样解决中文问题!在这篇文章中主要是讲一些关于PieChart的设置,在上一篇文章中用的都是一些默认的配置!   首先先创建一个JFreeChart DefaultPieDataset defaultPieDataset = new DefaultPieDataset(); defaultPieDataset.

在上篇文章中已经讲了怎样生成一个PieChart,以及怎样解决中文问题!在这篇文章中主要是讲一些关于PieChart的设置,在上一篇文章中用的都是一些默认的配置!

 

首先先创建一个JFreeChart

DefaultPieDataset defaultPieDataset = new DefaultPieDataset();
		defaultPieDataset.setValue("Category 1", 43.2);
		defaultPieDataset.setValue("Category nagative", -22);
 		defaultPieDataset.setValue("Category 2", 27.8);
 		defaultPieDataset.setValue("Category 0", 0);
  		defaultPieDataset.setValue("Category 3", 79.5);
  		defaultPieDataset.setValue("Category null", null);		
		JFreeChart jfreeChart = ChartFactory.createPieChart("中文标题",// 标题
				defaultPieDataset,// 上面生成的数据,即传入要用于显示的数据
				true,// 是否显示图例
				true,// 是否生成工具提示
				true);// 是否生成URL

 然后通过JFreeChart对象拿到PiePlot对象,并进行一些相应的设置

PiePlot piePlot = (PiePlot) jfreeChart.getPlot();

//设置前面每个模块的颜色
		piePlot.setSectionPaint("Category 1", Color.CYAN);
		piePlot.setSectionPaint("Category 2", Color.BLUE);
		piePlot.setSectionPaint("Category 3", Color.GRAY);

 

pieDataset里面可以包含0,空值和负数,如果包含0或者空值,则将会显示一个标签,但是没有内容,而负值的话则会默认忽略,也可以修改默认设置将0和控制也忽略,

plot.setIgnoreZeroValues(true);//忽略0值
plot.setIgnoreNullValues(true);//忽略空值

 

如果想让某一块出来一点,可以这样设置

piePlot.setExplodePercent("Category 1", 0.30);//其中的数字是控制出来多少的

 

 

如果想出现一个立体的效果,那么在上面创建JFreeChart的时候就不要创建ChartFactory.createPieChart而是创建一个ChartFactory.createPieChart3D(...)

 

目录
相关文章
|
域名解析 Ubuntu Linux
Docker 镜像基本操作
本文介绍 Docker 镜像最常用的三个基本操作 login、pull、push以及如何登录子账户。通过认识镜像的基本操作,您可以更熟练地使用容器镜像服务 ACR。
8408 0
Docker 镜像基本操作
|
缓存 NoSQL 关系型数据库
Spring Boot实战解决高并发数据入库: Redis 缓存+MySQL 批量入库
Spring Boot实战解决高并发数据入库: Redis 缓存+MySQL 批量入库
1664 0
|
2天前
|
云安全 人工智能 自然语言处理
|
6天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
560 10
|
9天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
697 57
Meta SAM3开源:让图像分割,听懂你的话
|
7天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
325 116
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
AgentEvolver:让智能体系统学会「自我进化」
AgentEvolver 是一个自进化智能体系统,通过自我任务生成、经验导航与反思归因三大机制,推动AI从“被动执行”迈向“主动学习”。它显著提升强化学习效率,在更少参数下实现更强性能,助力智能体持续自我迭代。开源地址:https://github.com/modelscope/AgentEvolver
459 33