在Jfreechart中将条形与条形标签对齐

时间:2013-10-01 12:59:55

标签: java jsp jfreechart

我遇到问题,数据标签与此图表中的正确条形对齐 此条形图是使用jsp中的jfreechart生成的。 bar chart

2 个答案:

答案 0 :(得分:4)

这是JFreeChart中一个非常常见的错误。图表中的每个类别('abc','xyz'等)都有6个系列中每个类别的值('q1','q2'...'q6'),因此总共有36个数据项。但是其中30个数据项为空,因为您没有指定它们。当数据值为空时,JFreeChart会留下条形图出现的空格。

如果你真的只有六个数据值,你应该有一个系列有6个类别,或者一个类别和六个系列。

答案 1 :(得分:1)

简单的解决方法是使此图表成为堆积条形图,而不是条形图。

这可以通过使用ChartFactory.createStackedBarChart而不是ChartFactory.createBarChart来完成,或者通过将StackedBarRenderer传递到Plot构造函数而不是BarRenderer来完成,具体取决于您如何创建图表。

之所以可行,是因为在堆栈条形图中,数据部分始终位于标签的中心,而空/零数据部分只是不可见。

当您不能将数据作为一个系列添加(例如,因为您想要不同的颜色)而又不能将它们添加为一个类别(例如,您希望为每个标签都具有标签)时,这很有用。