jfreechart - (4)LineChart线图

本文介绍如何使用JFreeChart库创建2D及3D线图,并提供了一个具体的示例程序,演示了如何设置图标题、轴标签等属性,并通过XYSeriesCollection对象填充数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值