1

1 つの棒グラフを生成しようとしていますが、ドメイン軸からラベルのサイズを計算して幅と高さを制御する必要があり、ラベルが大きすぎると問題が発生します (列の値の開始がグラフの中央になります)。

何か提案はありますか?

ありがとうございました。

4

1 に答える 1

2

グラフィックを再描画するカスタムペインターを作成することにより、チャート上のレンダラーを変更できます。ここではPainterコードが正しく表示されていないようです。widthMultiplierバーのサイズを制御するためにを使用しました。

GradientXYBarPainter xyBarpainter = new GradientXYBarPainter() {

    @Override
    public void paintBar(Graphics2D g2, XYBarRenderer renderer, int row,
            int column, RectangularShape bar, RectangleEdge base) {
        Rectangle2D rect = bar.getFrame();
        rect.setRect(rect.getX(), rect.getY(),
            rect.getWidth() * widthMultiplier, rect.getHeight());
        bar.setFrame(rect);
        super.paintBar(g2, renderer, row, column, bar, base);
    }
};
StackedXYBarRenderer rend = new StackedXYBarRenderer();
rend.setBarPainter(xyBarpainter);
于 2010-11-09T14:58:53.703 に答える