【问题标题】:JFreeChart with shadow and circle nodes带有阴影和圆形节点的 JFreeChart
【发布时间】:2013-12-03 18:32:57
【问题描述】:

我创建了一个折线图:

但我想让它看起来像这样。我也不知道这是什么图表。 我想让它也有一个阴影和圆形节点。就像这样:

我该怎么做?顺便说一句,如果与我的问题相关,我会在网页中将图表显示为PNG 图像格式。提前致谢。

【问题讨论】:

标签: java charts jfreechart


【解决方案1】:

有关信息,您尝试复制的示例图表包含在 JFreeChart 演示集合中。演示的完整源代码包含在 JFreeChart 开发人员指南中。通过要求他们购买 JFreeChart 开发人员指南,您可以为自己和公司节省一些钱,它并不昂贵。关于答案...

您要寻找的阴影效果可以通过设置阴影生成器添加到任何CategoryPlotXYPlot

plot.setShadowGenerator(new DefaultShadowGenerator());

它看起来不错,但请注意,它需要将图表呈现为位图,因此如果您将图表导出为 SVG 或 PDF 或其他矢量格式,它就不会播放得那么好。

可以通过更改您正在使用的渲染器上的属性来添加线条上的形状(在本例中为LineAndShapeRenderer)。

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

setBaseShapesVisible() 方法为所有系列设置默认(或“基本”)标志值。如果您愿意,您可以在每个系列的基础上覆盖该默认值。您可能还想调整正在使用的颜色...默认情况下,所有形状都是使用系列颜色绘制和填充的,但是可以设置一些标志以使渲染器使用系列填充和系列轮廓颜色(即在示例中完成以在形状中填充白色)。

JFreeChart 渲染器非常可配置,因此我建议您花一些时间查看 API 文档以了解可能的情况。

【讨论】:

  • 我只是一个学生,我不能/不想买它,因为我要使用它一次。
【解决方案2】:

这是您的解决方案:

    LineAndShapeRenderer renderer
            = (LineAndShapeRenderer) plot.getRenderer();
    renderer.setBaseShapesVisible(true);
    renderer.setDrawOutlines(true);
    renderer.setUseFillPaint(true);
    renderer.setBaseFillPaint(Color.white);
    renderer.setSeriesStroke(0, new BasicStroke(3.0f));
    renderer.setSeriesOutlineStroke(0, new BasicStroke(2.0f));
    renderer.setSeriesShape(0, new Ellipse2D.Double(-5.0, -5.0, 10.0, 10.0));

【讨论】:

  • 您也需要提供一些解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 2015-10-17
  • 1970-01-01
  • 2020-12-29
相关资源
最近更新 更多