1

我正在使用 JFreeChart 创建图表:

在此处输入图像描述

问题应该是相当清楚的。我在图表上绘制的圆圈显示为椭圆形,因为我的图表正在按比例缩小以适合我的尺寸。

这是我绘制圆圈注释的方式:

chart.getXYPlot().addAnnotation(
    new XYShapeAnnotation(
        new Ellipse2D.Float(pointX - 15, pointY - 15, 30, 30),
        new BasicStroke(0.5), Color.BLACK, Color.GREEN
    )
);

如何在不缩小注释的情况下绘制注释?有没有办法在图表上绘制,将全局/真实 X/Y 点转换为局部/缩放 X/Y 点?

4

2 回答 2

1

作为替代方案,请尝试使用比例不变的注释之一,例如XYImageAnnotationXYPointerAnnotation。例如,

chart.getXYPlot().addAnnotation(
        new XYPointerAnnotation("Bam!", pointX, pointY, 0));
于 2012-10-17T01:38:19.440 回答
0

我建议使用第二个系列,其中只有一个值。对于第二个系列,您需要使用图表的绘图渲染器的 setSeriesShapesVisible() 方法启用形状的绘制。您需要做的就是在您希望形状出现的点向第二个系列添加一个值。

您可以使用正方形、圆形、圆角矩形等。事实上,任何 java.awt.Shape 对象都是有效的。

于 2014-03-12T14:18:06.293 回答