我创建了一个堆积条形图,其中我在 y 轴上显示计数,并在 x 轴上显示日期。问题是,当我在 x 轴上有很多日期时,它变得非常混乱,无法读取。我想只显示一些日期,例如每周一个日期。那可能吗?我使用ChartFactory.createStackedBarChart()
创建图表,并且我的数据位于DefaultCategoryDataSet
。
感谢任何输入!
答案 0 :(得分:3)
对于CategoryAxis
,用于StackedBarChart
中的域轴,您可以使用方法setCategoryLabelPositions()
获得相当大的灵活性。典型用法在BarChartDemo1
来源中说明,显示为here。
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(
CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));
答案 1 :(得分:0)
您是否尝试覆盖标签生成器中的generateLabel方法?类似的东西:
chart.getCategoryPlot().getRenderer().setBaseItemLabelGenerator(
new CategoryItemLabelGenerator() {
public String generateColumnLabel(CategoryDataset dataset, Integer column) {
if(column % 7 == 0)
super.generateColumnLabel(dataset, column)
else
""
}
}
);
我没有测试过代码,但它应该每7列只输出一个标签。有关标签生成器的更多信息,请访问:http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/labels/CategoryItemLabelGenerator.html