折线图客户化问题 - JFreeChart.



我正在尝试使用JFreeChart创建一个图表。我需要它有蓝线,方形标记白色背景并显示每个标记上方的值。但我需要它非常简单。代码 belhow 位于一个方法中,该方法从数据库中恢复数据并放入dataset,并将图表生成为 JPEG 图像。

图表

已生成,但我找不到以我需要的方式自定义图表的方法。

我的代码如下所示:

// * 'graphicValues' data set is already created *
    JFreeChart graphicObject = ChartFactory.createLineChart("Classes",
            "months", //linha X
            "", //linha Y
            graphicValues, 
            PlotOrientation.VERTICAL, 
            true, 
            true,
            false);
    //Only command that seems to work
    graphicObject.setBackgroundPaint(Color.WHITE); 
     // * from here on, code works fine, I just save it as a file somewhere *

谁能帮我把线设置为蓝色,并在方形标记上将值显示为标签?

谢谢!

正如ChartFactory的文档所说,ChartFactory.createLineChart

使用默认设置创建折线图。返回的图表对象 通过此方法使用类别绘图实例作为绘图,具有 类别轴作为域轴,数字轴作为范围轴,以及 一个 LineAndShapeRenderer 作为渲染器

因此,使用该方法获得的是所有默认设置,并且无法自定义图表。

要自定义图表,您可能不得不放弃ChartFactory,并亲自动手对一些JFreeChart类进行子类。

我建议你看一下初学者ChartFactory的源代码——你会看到它如何创建一个图表、一个"渲染器"和一个用于渲染图表的"绘图"。您可能必须对其中的一个或多个进行子类化,尤其是渲染器。查看LineAndShapeRenderer源代码,了解渲染器的工作原理。

最新更新