【问题标题】:How to generate a bar chart in JFreeChart with default components' size?如何在 JFreeChart 中生成具有默认组件大小的条形图?
【发布时间】:2010-08-04 14:35:05
【问题描述】:

我正在尝试生成一个条形图,但它迫使我通过从域轴计算标签的大小来控制宽度和高度,并在它们太大时导致问题(列值的开头位于中间图表)。

你有什么建议吗?

谢谢。

【问题讨论】:

标签: java jfreechart bar-chart


【解决方案1】:

您可以通过创建重新绘制图形的自定义画家来更改图表上的渲染器; 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2013-07-31
    • 1970-01-01
    相关资源
    最近更新 更多