繁体   English   中英

如何在 JFreeChart 中绘制实心矩形?

[英]How can I draw a filled rectangle in JFreeChart?

我正在使用 Swing 和 JFreeChart 制作一个小应用程序。 我必须显示一个XYLineChart ,我想在它上面绘制一些填充的矩形。 我使用XYShapeAnnotation来绘制矩形,并尝试用Graphics2D填充它们,但它不起作用。 我在图表上显示了矩形,但没有填充。 代码如下所示:

Shape rectangle = new Rectangle2D.Double(0, 0, 7, 1);
g2.fill(rectangle);
XYShapeAnnotation shapeAnnotation = new XYShapeAnnotation(rectangle, new BasicStroke(2.f), Color.BLACK);
shapeAnnotation.setToolTipText("1");
plot.addAnnotation(shapeAnnotation);

我认为问题在于填充的矩形位置与图表无关,但我真的不知道如何解决这个问题。 我还想知道是否可以在矩形上显示图表中的线条,因为我找不到任何方法来做到这一点。

使用XYShapeAnnotation构造,使您可以同时指定outlinePaintfillPaint 你可能想要这样的东西:

XYShapeAnnotation shapeAnnotation = new XYShapeAnnotation(
    rectangle, new BasicStroke(2.f), Color.BLACK, Color.BLACK);

作为基于此答案的具体示例,以下更改会产生显示的结果:

 renderer.addAnnotation(new XYShapeAnnotation(ellipse, stroke, color, color));

图片1

要显示在图表的矩形的线,用于注解指定背景层,如图所示在这里

 renderer.addAnnotation(new XYShapeAnnotation(
     ellipse, stroke, color, color), Layer.BACKGROUND);

图像2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM