我正在使用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点?
答案 0 :(得分:1)
作为替代方案,请尝试其中一种尺度不变的annotations,例如XYImageAnnotation
或XYPointerAnnotation
。例如,
chart.getXYPlot().addAnnotation(
new XYPointerAnnotation("Bam!", pointX, pointY, 0));
答案 1 :(得分:0)
我建议使用第二个系列,其中只有一个值。对于第二个系列,您需要使用图表的绘图渲染器的setSeriesShapesVisible()方法启用形状绘制。您需要做的就是在希望形状出现的点上为第二个系列添加一个值。
您可以使用正方形,圆形,圆角矩形等等。事实上,任何java.awt.Shape对象都是有效的。