5.6 片区和图例标签

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

public void setLabelGenerator(PieSectionLabelGenerator generator);
public void setLegendLabelGenerator(PieSectionLabelGenerator generator);

StandPieSectionLabelGenerator类专门用来生成图例的一个实现类,提供灵活处理定制标签的功能(如果你不喜欢用这个类,可以定义自己的类,只要实现接口PieSectionLabelGenerator即可)。Dataset显示出的标签值由Javade信息格式类来进行格式化——表5.1所示格式化的变量值。

名称 描述
{0} 片区关键值(字符串)
{1} 片区值
{2} 百分比的片区值

表5.1 StandardPieSectionLabelGenerator substitutions

下面举例说,假如我们有一个PieData包含下面的值

片区标识 片区值
S1 3.0
S2 5.0
S3 Null
S4 2.0

表 5.2 一个dataset实例

下面是格式化字符串产生的标签值内容:

格式化字符串 片区 产生的标签值
{0} 0 S1
{0} has value {1} 1 S2 has value 5.0
{0}({2} percent) 0 S1(30 percent)
{0} = {1} 2 S3 = null

类PieChartDemo2.java使用了定制标签的方法。