【发布时间】:2013-10-01 12:59:55
【问题描述】:
我的数据标签无法与此图表中的正确条形对齐。
此条形图是使用 jsp 中的 jfreechart 生成的。
【问题讨论】:
标签: java jsp jfreechart
我的数据标签无法与此图表中的正确条形对齐。
此条形图是使用 jsp 中的 jfreechart 生成的。
【问题讨论】:
标签: java jsp jfreechart
这是 JFreeChart 中很常见的错误。图表中的每个类别('abc'、'xyz' 等)对于 6 个系列('q1'、'q2' ... 'q6')中的每一个都有一个值,因此总共有 36 个数据项。但是其中 30 个数据项为空,因为您没有指定它们。当数据值为空时,JFreeChart 会在显示条的位置留出空间。
如果你真的只有六个数据值,你应该有一个系列6个类别,或者一个类别6个系列。
【讨论】:
简单的解决方法是使此图表堆叠条形而不是条形图。
这可以通过使用 ChartFactory.createStackedBarChart 而不是 ChartFactory.createBarChart 或将 StackedBarRenderer 而不是 BarRenderer 传递给 Plot 构造函数来完成,具体取决于您创建图表的方式。
之所以有效,是因为在堆栈条形图中,数据部分始终以标签为中心,而空/零数据部分是不可见的。
当您无法将数据添加为一个系列(例如,因为您想要不同的颜色),但也无法将它们添加为一个类别(例如,您想要为每个类别添加标签)时,这很有用。
【讨论】: