3

JFreeChart を使用して StackedBarChart を生成しています。入力データによっては、多くのカテゴリ (通常は 20 から 40 の間) を持つことができ、ラベルの重複につながります。次のスクリーンショットでは、1 から 38 までのカテゴリのグラフを確認できます。

ラベルが重なっている 1 ~ 38 のカテゴリのグラフ

カテゴリ ラベルの一部を参考として表示したいのですが、すべてではありません。最初と最後、およびその間の 5 番目ごとを表示するのに最適です。これは可能ですか?

グラフの幅を変更することはできません。ラベルを小さくしても、ラベルが小さすぎて読めない場合にのみ機能します...最後の手段は、カテゴリ軸全体を非表示にすることです...

ご提案ありがとうございます。

4

2 に答える 2

4

簡単な解決策の 1 つは、カテゴリ ラベルを背景色 (この場合は白) に設定することです。

    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setTickLabelPaint("Category 2", Color.white);
    domainAxis.setTickLabelPaint("Category 4", Color.white);

これにより、このようなチャートが生成されます

ここに画像の説明を入力

于 2012-06-07T09:18:12.950 に答える
2

この例setVerticalTickLabels(true)に示すように、ドメイン軸で使用できます。

補遺:おっと、引用されたValueAxisはのためのものです。でCategoryAxis使用されStackedBarChartているように、メソッドを使用するとさらに柔軟性がありますsetCategoryLabelPositions()。典型的な使用法は、ここに示されているソースBarChartDemo1に示されています。

于 2012-06-06T22:09:39.360 に答える