jfreechart - (4)LineChart线图

 ( 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();	
	}
}

 

效果图

你可能感兴趣的:(jfreechart)