簡體   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