使用JFreeChart生成时间顺序图实例(生成图片)

package com.lhhc.jfreechart.test;

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.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
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        JFreeChart chart = ChartFactory.createTimeSeriesChart("图书销量统计图", "图书",
                "销量", getDataSet(), true, false, false);
        LegendTitle legend = chart.getLegend(0);
        // 修改图例的字体
        legend.setItemFont(new Font("宋体", Font.BOLD, 14));

        // 设置标题
        chart
                .setTitle(new TextTitle("图书销量统计图", new Font("黑体", Font.ITALIC,
                        22)));
        XYPlot plot = (XYPlot) chart.getPlot();
        ValueAxis categoryAxis = plot.getDomainAxis();
        categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));
        categoryAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 18));
        NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();// 取得纵轴
        numberAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));// 设置纵轴显示标签字体
        FileOutputStream fos = null;
        fos = new FileOutputStream("book2.jpg");
        ChartUtilities.writeChartAsJPEG(fos, 1, chart, 800, 600, null

        );
        fos.close();

    }

    private static XYDataset getDataSet() {
        TimeSeries spring = new TimeSeries("Spring2.0宝典", Month.class);
        spring.add(new Month(10, 2006), 3400);
        spring.add(new Month(11, 2006), 2700);
        spring.add(new Month(12, 2006), 0);
        spring.add(new Month(1, 2007), 1800);
        spring.add(new Month(2, 2007), 2200);

        TimeSeries lightWeight = new TimeSeries("轻量级J2EE企业级应用实战", Month.class);
        lightWeight.add(new Month(10, 2006), 2800);
        lightWeight.add(new Month(11, 2006), 3700);
        lightWeight.add(new Month(12, 2006), 0);
        lightWeight.add(new Month(1, 2007), 2100);
        lightWeight.add(new Month(2, 2007), 1100);

        TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(spring);
        dataset.addSeries(lightWeight);
        return dataset;

    }

}
 

你可能感兴趣的:(spring,jfreechart,企业应用)