使用JFreeChart创建时间顺序图
package com.cs.jfreechart;import java.awt.Color;import java.awt.Font;import java.io.FileOutputStream;import java.io.IOException;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartUtilities;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.CategoryAxis;import org.jfree.chart.axis.NumberAxis;import org.jfree.chart.axis.ValueAxis;import org.jfree.chart.plot.XYPlot;import org.jfree.chart.title.LegendTitle;import org.jfree.chart.title.TextTitle;import org.jfree.data.time.Month;import org.jfree.data.time.TimeSeries;import org.jfree.data.time.TimeSeriesCollection;import org.jfree.data.xy.XYDataset;public class TimeChartDemo {/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {//生成时间顺序图JFreeChart chart = ChartFactory.createTimeSeriesChart ("图书销售统计表", //图表标题"图书", //目录轴的显示标签"销量", //数值轴的显示标签getDateSet(), //数据//PlotOrientation.HORIZONTAL, //图表方向水平//PlotOrientation.VERTICAL, //图表方向垂直true, //是否显示图例false, //是否显示工具提示false //是否生成URL);//设置标题及标题字体chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));//建一个图例LegendTitle legendTitle = chart.getLegend(0);//设置图例字体legendTitle.setItemFont(new Font("宋体",Font.BOLD,14));//获取时间顺序图plot对象XYPlot plot = (XYPlot) chart.getPlot();//设置柱型的颜色plot.getRenderer().setSeriesPaint(0, Color.blue);//取得横轴ValueAxis categoryAxis = plot.getDomainAxis();//设置横轴的字体categoryAxis.setLabelFont(new Font("宋体",Font.BOLD,22));//设置分类标签以45度倾斜//categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);//设置分类标签字体categoryAxis.setTickLabelFont(new Font("宋体",Font.BOLD,22));//取得纵轴NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();//设置纵轴的字体numberAxis.setLabelFont(new Font("宋体",Font.BOLD,22));//设置背景透明度(0~1)plot.setBackgroundAlpha(0.9f);//输出文件FileOutputStream fos = new FileOutputStream("book.jpg");//用ChartUtilities工具输出ChartUtilities.writeChartAsJPEG(fos, chart, 800, 600);fos.close();}private static XYDataset getDateSet() {//创建一个TimeSeries对象TimeSeries spring = new TimeSeries("JAVA教程",Month.class);spring.add(new Month(10,2006),34);spring.add(new Month(11,2006),27);spring.add(new Month(12,2006),31);spring.add(new Month(1,2007),17);spring.add(new Month(2,2007),39);TimeSeries lightweight = new TimeSeries("C#教程",Month.class);lightweight.add(new Month(10,2006),28);lightweight.add(new Month(11,2006),32);lightweight.add(new Month(12,2006),11);lightweight.add(new Month(1,2007),19);lightweight.add(new Month(2,2007),12);TimeSeriesCollection dataset = new TimeSeriesCollection();dataset.addSeries(spring);dataset.addSeries(lightweight);return dataset;}}