2012-08-29 96 views
1

我創建了一個堆積條形圖,其中顯示了軸上的軸的計數和軸上的日期。問題是,當我在x軸上有很多日期時,它變得非常混亂,不可能讀取。我只想顯示一些日期,例如每週一個日期。那可能嗎?我正在使用ChartFactory.createStackedBarChart()來創建圖表,並且我有一個DefaultCategoryDataSet中的數據。JfreeChart:堆積條形圖和CategoryAxis顯示日期

任何輸入讚賞!

回答

3

對於CategoryAxis,所使用的域座標軸在StackedBarChart,你有相當的柔韌性與方法setCategoryLabelPositions()。在BarChartDemo1源文件中說明了典型用法,如here所示。

CategoryAxis domainAxis = plot.getDomainAxis(); 
domainAxis.setCategoryLabelPositions(
    CategoryLabelPositions.createUpRotationLabelPositions(Math.PI/6.0)); 
+1

謝謝你,它就像一個魅力! – Liz

+1

上次看到[here](http://sourceforge.net/p/jfreechart/code/3111/tree/branches/jfreechart-1.0.x-branch/source/org/jfree/chart/demo/BarChartDemo1.java)。 –

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