`
sktoo
  • 浏览: 76772 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

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

 

效果图

分享到:
评论
3 楼 olive009 2010-02-01  
运行你的代码的时候,中文变成了乱码,这个要怎么改正?我的jFreechar是1.0.13
2 楼 incredible_haha 2009-09-07  
例子很清晰,很好!
感谢前人栽树!
1 楼 duguren 2009-04-12  
女侠,什么时候在线,请冒下头~~~

相关推荐

Global site tag (gtag.js) - Google Analytics