( 1 )平面线图
生成平面线图:
JFreeChart chart = ChartFactory. createLineChart(String title, // 图标题
String categoryAxisLabel, //x 轴标题
String valueAxisLabel, //y 轴标题
CategoryDataset dataset, // 数据源
PlotOrientation orientation, // 显示方向
boolean legend, // 是否显示图例
boolean tooltips, // 是否显示 tooltip
boolean urls); // 是否指定 url
平面线图除了的 Plot 对象中绘制单元对象是 LineAndShapeRenderer 对象,其他一切组成对象与平面柱状图相同。
获取 Renderer 操作:
LineAndShapeRenderer renderer=(LineAndShapeRenderer) plot.getRenderer();
其他参考平面柱状图。
( 2 ) 3D 线图
对应工厂方法为 createLineChart3D ,参数与 createLineChart 相同。 3D 线图的组成对象除了绘制单元对象是 LineAndShapeRenderer3D 对象,其他一切组成对象与 3D 柱状图相同。
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class TestLineChart {
public static XYSeriesCollection createDataSet() {
XYSeriesCollection seriesCollection = new XYSeriesCollection();
XYSeries series1 = new XYSeries("平均收视率");
XYSeries series2 = new XYSeries("最高收视率");
XYSeries series3 = new XYSeries("最低收视率");
series1.add(1, 7.25);
series1.add(2, 4.81);
series1.add(3, 3.69);
series1.add(4, 3.53);
series1.add(5, 2.95);
series1.add(6, 3.96);
series2.add(1, 10.57);
series2.add(2, 5.37);
series2.add(3, 4.87);
series2.add(4, 4.87);
series2.add(5, 3.63);
series2.add(6, 5.27);
series3.add(1, 4.76);
series3.add(2, 3.63);
series3.add(3, 2.82);
series3.add(4, 2.82);
series3.add(5, 2.37);
series3.add(6, 3.33);
seriesCollection.addSeries(series1);
seriesCollection.addSeries(series2);
seriesCollection.addSeries(series3);
return seriesCollection;
}
public static void createLineChart() {
JFreeChart chart = ChartFactory.createXYLineChart("无敌珊宝妹收视率走势图", "集数",
"收视率百分点", createDataSet(), PlotOrientation.VERTICAL, true,
true, false);
ChartFrame frame=new ChartFrame("Test Line Chart",chart);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
createLineChart();
}
}
效果图