java jfreechart 饼图_JFreeChart 使用一 饼图之高级特性_达哔的博客-程序员宅基地

技术标签: java jfreechart 饼图  

原文链接:http://www.cnblogs.com/jtmjx/archive/2013/04/23/jfreechart_advantage.html

本文主要讲解JFreeChart中饼图的一些特征。内容如下:

l控制颜色和饼图片区的外廓

lnull值和零值的处理

l饼图片区的标签(定制文本,改变分配的比例空间)

l“取出”某个片区

l多个饼图显示

l显示3D效果的饼图

更多的信息,可以参见PiePlot参考文档

1、片区颜色

饼图片区缺省填充的颜色是自动分配的,正如你上面实例看到的。如果你不喜欢这个缺省的颜色,你可以实用setSectionPaint()方法来设置片区颜色。例如:

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

plot.setSectionPaint("Section A", new Color(200, 255, 255));

plot.setSectionPaint("Section B", new Color(200, 200, 255));

JFreeChart的实例PieChartDemo2.java演示了如何定制颜色。在JFreeChart的代码中,片区颜色使用三层色属性机制来定义的。

同时,我们也可以对饼图中的每一个系列定义填充的颜色,这里我们不做细述,更多的信息请参阅PiePlot类

2、片区的外廓

每一个饼图片区的外廓默认是一条细灰线勾画出来的。PiePlot类提供了如下选择项:

l完全不显示片区外廓

l通过改变缺省的值来改变全部的片区外廓

l单独改变部分饼图的片区外廓

2.1 片区外廓的可见性控制

为了完全关闭片区外廓,使用下面代码:

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

plot.setSectionOutlinesVisible(false);

在任何时候,只需要将值设为 true 即可让外廓显示出来,调用该方法可以触发PlotChangeEvent事件

2.2 片区外廓的控制

在片区外廓显示的时候,我们可以改变饼图片区的整个外廓颜色或风格或者单个饼图片区的颜色或风格。

整个外廓颜色或风格的修改需要在基本层里面设置,单个饼图片区的颜色设置需要在系列层中设置。

在基本层里,如果没有更高层的颜色设置,则调用已定义的默认设置。我们可以使用PiePot类的方法来改变我们的设置。如下方法:

public voidsetBaseSectionOutlinePaint(Paint paint);

public void setBaseSectionOutlineStroke(Stroke stroke);

有时候在图表里面,我们会更喜欢设置饼图里面某个具体的片区的外廓的颜色,或许突出显示某些片区的细节方面。做到这些,我们可以是使用系列层层设置,通过下面的方法来定义。

public voidsetSectionOutlinePaint(Comparable key, Paint paint);

public void setSectionOutlineStroke(Comparable key, Stroke stroke);

方法的第一个参数是dataset的片区关键值。如果我们将该值设为null,则系统将使用基本层的设置。

3 空值、零值、负值的处理

PieDataset可能会包含一些饼图不可能显示的数值,比如null、零值或者负值。对于这些数据PiePlot类有专门的处理机制来处理。如果是零值,并且该值有意义,PiePlot类默认将一个标签放置在饼图片区显示的位置,并且在图表的图例中添加一个分类。如果零值可以忽略,我们可以使用下面代码设置一个标志,不显示该数据:

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

plot.setIgnoreZeroValues(true);

类似的null值也是如此处理,nul值代表dataset丢失或者不知来源的值。缺省的处理与零值相同,如果忽略null值,则代码如下:

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

plot.setIgnoreNullValues(true);

在饼图中处理负值是非常不明知的,所以在JFreeChart中负值总是被忽略的。

4 片区和图例标签

片区标签使用的文本,即可以在图表上显示,也可以在图表的图例上显示,并且完全可以定制。标签是自动默认产生的,但我们可以使用下面方法来改变:

public voidsetLabelGenerator(PieSectionLabelGenerator generator);

public void setLegendLabelGenerator(Pie

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34669890/article/details/114199889

智能推荐

W25Q64 Flash芯片原理与应用方案(含W25Q64中文数据手册)_w28q64_硬件之家的博客-程序员宅基地

W25Q64是华邦公司推出的大容量SPI FLASH产品,其容量为64Mb(8MB),应用较为广泛。W25Q系列的器件在灵活性和性能方面远远超过普通的串行闪存器件。W25Q64将8M字节的容量分为128个块,每个块大小为64K字节,每个块又分为16个扇区,每个扇区4K个字节。W25Q64的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节。所以,这需要给W25Q64开辟一个至少4K的缓存区,这样必须要求芯片有4K以上的SRAM才能有很好的操作。W25Q64的擦写周期多达10W次,可将数据保存达2._w28q64

CSS_05_复合选择器_css父类子类写法_M r.J 的博客-程序员宅基地

CSS复合选择器复合选择器是指两个或多个基础选择器,通过不同的组合选择较为精确的目标元素标签。交集选择器由两个选择器构成,其中一个为标签选择器,另一个为类选择器,两个选择之间没有空格。<!DOCTYPE html><html lang="en"><head> <meta charset=&qu_css父类子类写法

vsftpd匿名用户访问_weixin_34358092的博客-程序员宅基地

简介:vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可...

封装的IATHOOK类的使用_小驹的博客-程序员宅基地

代码不稳定,对WINDOW 7不稳定,对XP也不稳定,木有意义,各位看官绕过吧。。 1. 主程序使用了对话框的框架2. 把IATHOOK类封装成DLL,在初始化时加载DLL,使用DLL的导出函数,此函数HOOK了MESSAGE消息。。。与此同时,此DLL会在加载的时候创建全局的IATHOOK类,把常见的几个函数LoadLibraryA,LoadLibraryW,LoadLibrar

【Python基础】python必会的10个知识点_风度78的博客-程序员宅基地

来源 | Towards Data Science作者 | SonerYildirim编译 | VKPython在数据科学生态系统中占据主导地位。我认为,占据主导地位的两大原因是相对容易...

《程序员的自我修养》笔记之技术名词_邦戈栗子的博客-程序员宅基地

笔记来源:“IT 圈里有哪些经常被读错的词?”https://www.zhihu.com/question/19739907===========================================example:Youtube (You-tube [tju:b]) 念 优tiu啵 不念 优吐毙Adobe [əˈdəʊbi] 念 阿兜笔 不念 阿斗伯Chrome [krəʊm] 念 克...

随便推点

centos安装mysql5.6_CentOS安装mysql5.6_葫芦芦Oo的博客-程序员宅基地

为了方便快捷的搭建linux环境,于是有了这几篇文字CentOS使用yum安装jdkCentOS安装tomcatCentOS安装NginxCentOS安装MySql5.6CentOS安装MySql5.71下载mysql#进入local目录cd /usr/local/#下载mysqlwget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6..._centos 安装mysql 5.6

使用 JCaptcha 开发图形和声音验证码_love398146779的博客-程序员宅基地

http://www.ibm.com/developerworks/cn/opensource/os-cn-jcaptcha/当前越来越多的网站系统采用 CAPTCHA 验证码,来阻止垃圾信息发布机器人的信息提交,但通常绝大多数网站,只提供图片验证码,而这将影响盲人用户的使用。JCaptcha 是一个 Java 开源项目,利用 JCaptcha,不但可以生成图形验证码,还可以利用与 FreeT...

考研——史上计算机类最全辅导书推荐_计算机网络辅导书_泰勒一号的博客-程序员宅基地

一、政治1政治辅导书的选择书名 作者 推荐率《考研政治命题人终极预测 4 套卷》 肖秀荣 16.8%《考研政治命题人 1000 题》 肖秀荣 14.1%《考研政治命题人冲刺 8 套卷》 肖秀荣 13.6%《教育部的研究生考试大纲解析》 教育部考试中心 8.6%《考研政治命题人知识点精讲精练》 肖秀荣 6.5%《考研政治命题人知识点提要》 肖秀荣 6.5%《政治命题人形势与政策》 肖秀荣 6.5%风中劲草辅导书系列 风中劲草 6.5%《政治命题人考点预测》 肖秀荣 6.1%《任汝芬最_计算机网络辅导书

Vue ☞ 离开界面之后 setInterval 倒计时持续运行问题_setinterval 页面关闭后还在运行-程序员宅基地

写毕设时写到了考试界面,使用了专门的倒计时,但是离开此页面去其他页面时,会依旧运行此计时器,导致到达指定时间时会触发相应操作,影响客户端,解决方法如下:beforeDestroy() { if (this.time) { //如果定时器还在运行 或者直接关闭,不用判断 clearInterval(this.time); //关闭 }},this.t..._setinterval 页面关闭后还在运行

机器学习:欧氏距离(Euclidean Distance)_电光闪烁的博客-程序员宅基地

欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的 绝对距离 。以古希腊数学家欧几里得命名的距离,也就是我们直观的两点之间直线最短的直线距离。欧氏距离定义: 欧氏距离( Euclidean distance)是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。在二维和三维空间中的欧式距离的就是两点之间的距离,二维的公式是:三维的公式是:推广到n维空间,欧式距离的公式是:n维欧氏空间是一个点集,它的每个点可以表示为(x(1)..._euclidean distance

关于在C++头文件中定义成员函数_taoyuanforrest的博客-程序员宅基地

对于Java来说,class文件中包含了成员函数的定义,但是,对于C++来说,一般将成员函数的声明放在头文件,而将其实现放在.cpp里面,那么在头文件中写成员函数的具体实现是否可以呢?The C++ ISO standard says:"A function defined within a class definition is an inline function."But, this doe...

推荐文章

热门文章

相关标签