欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jfreechart之timeseries 博客分类: j2ee chartjfreecharttimeseries 

程序员文章站 2024-03-20 11:50:34
...
package jfreechart;

import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import java.util.Random;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
 
public class TimeSeriesChart {
 
	private TimeSeries prepareTimeSeries(String seriesName){
		TimeSeries timeSeries = new TimeSeries(seriesName);
		
		Random random = new Random();
		
		for(int i=0;i<10;i++){
			timeSeries.add(new Day(21,(i+1),2014),random.nextInt(100));
		}
		
		return timeSeries;
	}
	
    private XYDataset createDataset() {
        TimeSeriesCollection dataset = new TimeSeriesCollection();
 
        dataset.addSeries(prepareTimeSeries("timeseries01"));
        dataset.addSeries(prepareTimeSeries("timeseries02"));
        dataset.addSeries(prepareTimeSeries("timeseries03"));
        return dataset;
    }
 
    private void setUpTheme(){
        //创建主题样式  
        StandardChartTheme standardChartTheme=new StandardChartTheme("CN");  
        //设置标题字体  
        standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));  
        //设置图例的字体  
        standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));  
        //设置轴向的字体  
        standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));  
        //应用主题样式  
        ChartFactory.setChartTheme(standardChartTheme); 
    }
    
    public void createTimeSeriesChart() throws IOException {
    	setUpTheme();
        
        JFreeChart timeSeriesChart = ChartFactory.createTimeSeriesChart(
                "title", "xLabel", "yLabel", createDataset(), true,
                true, false);
        
        setStyle(timeSeriesChart);
        
        ChartUtilities.saveChartAsPNG(new File("timeseries.png"), timeSeriesChart, 600, 600);
    }
 
    private void setStyle(JFreeChart timeSeriesChart) {
    	XYPlot plot = timeSeriesChart.getXYPlot();
        plot.setDomainGridlinePaint(Color.LIGHT_GRAY);
        plot.setRangeGridlinePaint(Color.LIGHT_GRAY);
        XYItemRenderer render = plot.getRenderer();
        if (render instanceof XYLineAndShapeRenderer) {
            XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) render;
            renderer.setBaseShapesVisible(true);
            renderer.setBaseShapesFilled(true);

            // set the first time series 
            renderer.setSeriesLinesVisible(0, false);
            renderer.setSeriesPaint(0, Color.green);
        }
    }
 
    public static void main(String[] args) throws IOException {
        new TimeSeriesChart().createTimeSeriesChart();
    }
 
}

 


jfreechart之timeseries
            
    
    博客分类: j2ee chartjfreecharttimeseries 
 

  • jfreechart之timeseries
            
    
    博客分类: j2ee chartjfreecharttimeseries 
  • 大小: 38.7 KB