Y軸にカウント、 X軸に日付を表示する積み上げ棒グラフを作成しました。問題は、 x軸に多くの日付があると、非常に雑然として読めなくなることです。週に 1 日など、一部の日付のみを表示したいと考えています。それは可能ですか?を使用ChartFactory.createStackedBarChart()
してチャートを作成していますが、データはDefaultCategoryDataSet
.
どんな入力でも大歓迎です!
Y軸にカウント、 X軸に日付を表示する積み上げ棒グラフを作成しました。問題は、 x軸に多くの日付があると、非常に雑然として読めなくなることです。週に 1 日など、一部の日付のみを表示したいと考えています。それは可能ですか?を使用ChartFactory.createStackedBarChart()
してチャートを作成していますが、データはDefaultCategoryDataSet
.
どんな入力でも大歓迎です!
aCategoryAxis
のドメイン軸に使用される aStackedBarChart
の場合、メソッドにはかなりの柔軟性があります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