如何使用默认组件在 JFreeChart 中生成条形图?尺寸?

发布于 2024-09-12 15:57:55 字数 103 浏览 6 评论 0原文

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

您有什么建议吗?

谢谢。

I am trying to generate one bar chart but it's forcing me to control width and height by calculating size of labels from domain axis and causing problems when they are too large (the start of the columns' values get in the middle of the chart).

Do you have any suggestion ?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愛放△進行李 2024-09-19 15:57:55

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

You can change the renderer on the chart by creating a custom painter that repaints the graphics; the Painter code doesn't seem to display correctly here. I used a widthMultiplier to control the size of my bars:

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文