您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > JFreeChart_图表条目标签
JohnRaingjwm0826@126.com简介图表实例下载和安装JFreeChart使用JFreeChart饼图直方条形图折线图时序图定制图表动态图图表工具条图表条目标签多轴和数据源图表组合图表数据源和JDBC导出图表为PDF导出图表为SVG格式AppletServletsJFreeChart相关技术包简介显示条目标签条目标签外观条目标签位置定制条目标签文本实例1实例2概述局限性对于大多数的图表类型来说,JFreeChart允许在图表的每个条目上、或者内部、或者附近显示条目标签。例如,下图在每个条形图上显示出了真实的值。◦如何让条目标签可视(仅限于支持条目标签的图表类型)◦如何改变条目标签的外观(字体和颜色)◦如何指定条目标签的位置◦如何定制条目标签的文本忠告:使用上面的特征时,要谨慎。图表是期望用来分析总结数据的——如果觉得在图表上显示真实数据是非常有必要的话,那数据应使用一个表格格式显示更为合适。概述局限性条目标签的使用是有很多局限性的:◦一些renderer不支持条目标签◦轴范围的自动调节,忽略了条目标签的自动调整——如果图表的周围没有足够的空间(使用方法setUpperMargin()或setLowerMargin()进行了相应的调整),那么一些图表条目标签在图表上显示不出来。相信,在以后的JFreeChart版本中,这些限制问题将被解决。简介显示条目标签条目标签外观条目标签位置定制条目标签文本实例1实例2概述创建一个条目标签并赋值所有的系列显示条目标签为选择的系列显示条目标签问题与解决条目标签默认是不显示的,因此需要使用renderer进行创建和显示条目标签。这主要有以下两个步骤:◦分配一个CategoryItemLabelGenerator或XYItemLabelGenerator给renderer—这是一个负责创建标签的对象。◦在renderer里面设置一个标签可视的标志。可以针对全部系列进行设置,也可以针对具体的每一个系列进行设置。此外,可以定制条目标签的位置、字体和颜色。概述创建一个条目标签并赋值所有的系列显示条目标签为选择的系列显示条目标签问题与解决使用renderer分配的一个标签产生器创建条目标签(这与图表工具条的机制是相同的)。下面代码说了将一个标签产生器指派给CategoryItemRenderer:同样的,将一个产生器指派给XYItemRenderer,代码如下:可以在标准产生器的构造函数中定制不同的行为。当然了,也可以创建总计的产生器概述创建一个条目标签并赋值所有的系列显示条目标签为选择的系列显示条目标签问题与解决方法renderer.setBaseItemLabelsVisible(false)是控制着条目标签的显示。对于CategoryItemRenderer:同样对于:XYItemRenderer一旦设置,这个标志优先管理在所有地方对每一系列做的设置,主要为了应用每一系列的设置。可以设置个标志为null概述创建一个条目标签并赋值所有的系列显示条目标签为选择的系列显示条目标签问题与解决可以控制图表的每一个系列的条目标签是否显示。例如:如下图仅显示第一系列条目标签。下面代码可以设置如上效果:注意:上面代码中对全部的系列设置为null—这一点非常重要,因为全部系列的标志控制每一个系列的标志。概述创建一个条目标签并赋值所有的系列显示条目标签为选择的系列显示条目标签问题与解决如果按照上面的步骤操作,你仍然未看见条目标签显示在图表上,那么我们从以下几个方面进行考虑:◦Renderere必须需要一个标签产生器——这是一个用来创建每一个标签的文本条目的对象。◦一些renderer不支持条目标签(具体参考renderer相关的文档)简介显示条目标签条目标签外观条目标签位置定制条目标签文本实例1实例2概述改变条目标签的字体改变条目标签的颜色可以通过改变条目的颜色、字体来改变图表条目标签的外观。正如其他renderer属性一样,属性的设置可以是全部的系列,可以是具体某一系列。在JFreeChart目前的版本中,不能设置标签的背景颜色,也不能指定标签的边框。这些在以后的版本中会得到解决。概述改变条目标签的字体改变条目标签的颜色为了在所有的系列中改变条目标签的字体,可以使用下面的代码:同样,也可以为单个系列设置字体:注意:renderer.setBaseItemLabelFont(null)方法会出错。概述改变条目标签的字体改变条目标签的颜色改变条目标签的颜色,我们可以使用下面的代码:同样的,可以为单独每一系列设置颜色:注意:renderer.setBaseItemLabelPaint(null);方法会出错。简介显示条目标签条目标签外观条目标签位置定制条目标签文本实例1实例2概述条目标签的位置标签文本的位置标签旋转点标签旋转角度条目标签的位置是通过ItemLabelPosition对象的四个属性来控制的。可以通过接口CategoryItemRenderer的方法来独立定义条目标签的正负点位置:理解这些属性如何影响独立标签的最终位置的关键是了解JFreeChart里面条目标签的特征。四个特征是:◦条目标签点——决定标签的起始位置◦文本点——标签里的文本相对于条目标签的位置。◦旋转点——标签文本旋转的点位置◦旋转角度——标签的旋转角度。概述条目标签的位置标签文本的位置标签旋转点标签旋转角度设置条目标签位置的目的,主要是为了找出标签在图表上贴向数据条目的一个点(x,y)位置。同时在画图表时,该标签也被画在该点处。概述条目标签的位置标签文本的位置标签旋转点标签旋转角度标签文本的位置,主要取决于上面讲的标签位置。可以将标签文本在标签里设置在右上部、或左下部等运行JCommon包内的org.demo.package下面的DrawStringDemo应用,可以更好的理解标签文本在标签内是如何放置的。概述条目标签的位置标签文本的位置标签旋转点标签旋转角度在标签上定义了一个旋转点,用于旋转标签。在DrawStringDemo实例中很好演示了这个特征。概述条目标签的位置标签文本的位置标签旋转点标签旋转角度旋转角度定义了标签沿旋转点旋转的角度。该角度为弧度。简介显示条目标签条目标签外观条目标签位置定制条目标签文本实例1实例2概述实现一个自定义的标签产生器定制条目标签文本,需要依赖用JFreeChart里的标签产生器来为条目标签创建文本。如果要想完全控制标签文本,需要编写自己的标签产生器,需要实现接口CategoryItemLabelGenerator。在这一节里,对自定义标签器技术做了简要的讲述,然后用两个实例来说明该技术过程。概述实现一个自定义的标签产生器开发一个自定义标签产生器,需要写一个类,该类必须实现CategoryItemLabelGenerator接口里的方法。该renderer调用该方法获得一个标签的字符串,并且将该字符串传入到当前条目的CategoryDataset、序列和种类。这就意味着创建这个标签时,拥有完全的访问权限。该方法可以返回任意字符串,因此格式化这个字符串。如果不想显示标签,可以设置为null。简介显示条目标签条目标签外观条目标签位置定制条目标签文本实例1实例2概述源代码在第一个实例中,目的就是当当条目的值大于某个限定的值时,就显示该标签。如图所示。做到这一点并不困难,需要做以下工作:◦写一个实现接口CategoryItemLabelGenerator的类,并且实现generateItemLabel()方法。该方法实现如果条目的值小于限定值时,返回null。◦创建该类的实例,将该实例使用renderer的方法setLabelGenerator()设置到renderer中去。概述源代码简介显示条目标签条目标签外观条目标签位置定制条目标签文本实例1实例2概述源代码在本实例中,目的是在每个系列的标签上显示出值和百分比值(这个百分比值,这个系列在某一部分的条形直方图或全部条形直方图的总值中的比值)。如下图所示。该实现中,标签产生器计算出百分比。如果传入构造函数的是一个种类索引,那么这个百分比的基数就是指定种类的当前系列的值。如果种类索引是无效的,那么这个基数就是指定种类的全部系列总和。标签产生器会默认创建一个百分比格式——一种比较成熟的格式,提供格式化能力。概述源代码
本文标题:JFreeChart_图表条目标签
链接地址:https://www.777doc.com/doc-631176 .html