在JFreeChart中的XYLineChart顶部放置一个圆圈

Ina*_*Ina 1 java jfreechart

我使用JFreeChart绘制了标准的正态分布:

NormalDistributionFunction2D normalDistributionFunction2D = new NormalDistributionFunction2D(0.5, 0.15);
XYDataset dataset = DatasetUtilities.sampleFunction2D(normalDistributionFunction2D, 0.0, 1.0, 1000, "Normal");
JFreeChart chart = ChartFactory.createXYLineChart("MyTitle --, "", "", xySeriesCollection, PlotOrientation.VERTICAL, false, false, false);
Run Code Online (Sandbox Code Playgroud)

标准正态分布

最重要的是,我想在给定点放置一个圆圈.我在计算圆的[x,y]坐标时没有问题,但我不确定如何将它添加到图表中.任何帮助赞赏.我想要实现的MS Paint爆破如下.

在此输入图像描述

Rev*_*nzo 7

您绝对不需要覆盖绘制方法或在顶部添加图层.JFreeChart已经支持这种行为.

正确的方法是向图表添加注释,具体来说:

chart.getPlot().addAnnotation(new XYShapeAnnotation(new Ellipse2D.Double(x - radius, y - radius, radius + radius, radius + radius))
Run Code Online (Sandbox Code Playgroud)

其中x和y是圆的中心.请注意,坐标位于绘图空间中,而不是图形空间.JFreeChart将在渲染时自动转换它们.

请查看:http: //www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/annotations/XYShapeAnnotation.htm http://www.java2s.com/Code/Java/Chart/JFreeChartPlotOrientationDemo2. HTM