JfreeChart:显示日期的堆积条形图和类别轴



我创建了一个堆叠条形图,其中在y轴上显示计数,在x上显示日期。问题是,当我在x轴上有很多日期时,它会变得非常混乱,无法阅读。我只想显示一些日期,例如每周一次。这可能吗?我正在使用ChartFactory.createStackedBarChart()创建图表,并且我在DefaultCategoryDataSet中有数据。

欢迎您提供任何意见!

对于用于StackedBarChart中域轴的CategoryAxis,方法setCategoryLabelPositions()具有相当大的灵活性。BarChartDemo1源中说明了典型的用法,如下所示。

CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(
    CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.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

相关内容

  • 没有找到相关文章

最新更新