我正在尝试使用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
源代码,了解渲染器的工作原理。