我遇到问题,数据标签与此图表中的正确条形对齐 此条形图是使用jsp中的jfreechart生成的。
答案 0 :(得分:4)
这是JFreeChart中一个非常常见的错误。图表中的每个类别('abc','xyz'等)都有6个系列中每个类别的值('q1','q2'...'q6'),因此总共有36个数据项。但是其中30个数据项为空,因为您没有指定它们。当数据值为空时,JFreeChart会留下条形图出现的空格。
如果你真的只有六个数据值,你应该有一个系列有6个类别,或者一个类别和六个系列。
答案 1 :(得分:1)
简单的解决方法是使此图表成为堆积条形图,而不是条形图。
这可以通过使用ChartFactory.createStackedBarChart
而不是ChartFactory.createBarChart
来完成,或者通过将StackedBarRenderer
传递到Plot构造函数而不是BarRenderer
来完成,具体取决于您如何创建图表。
之所以可行,是因为在堆栈条形图中,数据部分始终位于标签的中心,而空/零数据部分只是不可见。
当您不能将数据作为一个系列添加(例如,因为您想要不同的颜色)而又不能将它们添加为一个类别(例如,您希望为每个标签都具有标签)时,这很有用。