`

jfreechart之timeseries

    博客分类:
  • j2ee
阅读更多
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();
    }
 
}

 



 

  • 大小: 38.7 KB
分享到:
评论

相关推荐

    JFreeChart教程二

    dataset.addValue(10, "Series 1", "Category 1"); // 添加更多数据点... ``` ### 图表组件 JFreeChart中的图表组件包括`Plot`、`Axis`、`Legend`等,它们共同决定了图表的外观和行为。例如,可以设置`Axis`的标签...

    jfreechart

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...

    jfreechart 用法

    - **解释**:这部分代码创建了三个 `TimeSeries` 对象,分别用来存储“空闲”、“总量”和“使用量”的数据,并将它们添加到 `TimeSeriesCollection` 中。每个 `TimeSeries` 对象代表了一个数据系列,可以用来绘制...

    Java程序中用JFreeChart制作图形报表

    - **创建TimeSeriesCollection**:JFreeChart中的`TimeSeriesCollection`类用于存储多个`TimeSeries`对象,每个`TimeSeries`代表一条曲线。我们创建两个`TimeSeries`对象,分别对应夫妻双方的数据,然后遍历数据...

    java中关于JFreeChart实现实时曲线图

    在JFreeChart中,`TimeSeries`类被用来存储时间戳和对应的数值对,便于后续绘制成图表。 2. **构建数据集(Dataset)**:将多个`TimeSeries`实例组合成一个`TimeSeriesCollection`对象,作为图表的数据源。 3. **...

    JFreeChart实时折线图

    每次有新的实时数据时,你可以向这个集合中添加一个`TimeSeries`对象,或者直接更新已有`TimeSeries`的值。 3. **创建画布**: JFreeChart提供了一个`ChartPanel`类,它是`JComponent`的子类,可以直接添加到Swing...

    jfreechart的一个小总结

    对于时序图,JFreeChart 提供了 `TimePeriodValues` 和 `TimeSeries` 等类来处理时间序列数据。在示例代码中,`TimePeriodValuesCollection` 用于收集多个 `TimePeriodValues` 对象,这些对象代表了不同时刻的数据点...

    使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP

    TimeSeries timeSeries = new TimeSeries("日访问", Day.class); timeSeries.add(new Day(1, 1, 2010), 50); // 添加更多数据... chartTime.addSeries(timeSeries); ``` 接下来,我们使用`ChartFactory`创建图表,...

    JFreeChart代码示例及jar包

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联

    JFreeChart图表绘制源码

    散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生 PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。 本资源包含两个应用程序、一个API。应用程序下载后即可使用...

    jfreechart1.0.6_pdf

    JFreeChart是一款开源的Java图表库,为开发者提供了丰富的图表制作功能,包括饼图(Pie Chart)、条形图(Bar Chart)、线图(Line Chart)、散点图(Scatter Plot)、时间序列图(Time Series Chart)、甘特图...

    jfreechart---lib.zip

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,可直接输出成图片文件,亦可被导出PDF或Excel文档。

    JFreeChart详解

    import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.data.time.TimeSeriesDataItem; ``` 需要注意的是,在0.98及之后的版本中,JFreeChart的包名由`...

    JFreeChart 1.0.9 开发者文档

    JFreeChart是基于Java的一个开源图表库,它提供了丰富的图表绘制功能,包括饼图(Pie Charts)、条形图(Bar Charts)、线图(Line Charts)、散点图(XY Plots)、时间序列图表(Time Series Charts)等多种类型。...

    jfreechart-1.0.13

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...

    JFreeChart 股票K线图创建过程

    TimeSeries series = new TimeSeries(""); // 添加数据点... TimeSeriesCollection dataset = new TimeSeriesCollection(series); JFreeChart chart = ChartFactory.createCandlestickChart( "Stock Price", //...

    jfreechart-1.0.10.jar 压缩包 刘尧涛

    8. **时间序列图**(Time Series Chart):显示随时间变化的数据。 **自定义和扩展** JFreeChart 允许开发者深入定制图表的各个方面,如颜色、字体、标签、图例、网格线、数据标签等。此外,还可以通过扩展 ...

    基于jfreeChart的动态图表

    - **性能优化**:为了避免图表响应过慢,示例中的`TimeSeries`实例设置了最大年龄限制,这样可以确保图表只显示最近一段时间的数据,提高刷新速度。 - **自定义配置**:用户可以根据自己的需求调整图表的样式,例如...

    jfreechart根据24小时数据画折线图

    TimeSeries hp_produce = new TimeSeries("普通货票生产库", org.jfree.data.time.Hour.class); hp_produce.add(new Hour(1, day), 181.80000000000001D); hp_produce.add(new Hour(2, day), 167.30000000000001D...

Global site tag (gtag.js) - Google Analytics