java - 如何在 JFreeChart 折线图上创建形状?

标签 java jfreechart

我想要在使用 ChartFactory.createLineChart() 创建的折线图中标记数据点的形状(小方 block )。

它应该看起来像这样(这个图像不是用 JFreeChart 创建的):

Line chart with square markers

我已经按照说明做了here , 但是,它们不会出现在我面前。这是我的 JFreeChart 软件的输出:

enter image description here

我的代码是:

JFreeChart lineChart = ChartFactory.createLineChart(...);
CategoryPlot plot = (CategoryPlot) lineChart.getPlot();
plot.getRenderer().setBaseShape(
    new Rectangle2D.Double(-20.0, -20.0, 40.0, 40.0));

我还尝试对我正在绘制的所有系列使用 setSeriesShape 而不是 setBaseShape,它也没有任何区别。

我做错了什么?

最佳答案

给定渲染器的引用,

LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();

调用 setBaseShapesVisible() 以启用您选择的 DrawingSupplier 提供的形状。

renderer.setBaseShapesVisible(true);

image 1

要更改外观,将自定义 Shape 传递给所需系列的 setSeriesShape()

renderer.setSeriesShape(0, new Ellipse2D.Double(-3d, -3d, 6d, 6d));

image 2

关于java - 如何在 JFreeChart 折线图上创建形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43119763/

相关文章:

java - JFreeChart 中的十字线追踪

java - 找到图中 X 坐标为零的点

java - 在 Java 中创建时尚的图表,例如使用 JFreeChart

java - JFreeChart 在 Y 轴上将整数值显示为 float

java - 短暂网络断开后连接无法恢复

java - 要使用的 Hibernate 属性或配置文件

java - Eclipse JAR 导出不工作

java - 深层嵌套的 Web 表单验证的模式是什么?

java - ImageView 在其可绘制对象之间闪烁

java - 如何在 XYImageAnnotation 中调整图像位置