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

jFreeChart利用CategoryDatase,ChartFactory.createXYLineChart生成的折线图

    博客分类:
  • J2EE
阅读更多
package com.potevio.rnd;

import java.io.File;
import java.io.FileNotFoundException;
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.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

public class CreateJFreeChartXYLine {  
  
    /**  
     * 创建JFreeChart LineXY Chart(折线图)  
     */  
    public static void main(String[] args) {   
        //步骤1:创建XYDataset对象(准备数据)   
        XYDataset dataset = createXYDataset();   
        //步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置   
        JFreeChart freeChart = createChart(dataset);   
        //步骤3:将JFreeChart对象输出到文件,Servlet输出流等   
        saveAsFile(freeChart, "F:\\jfreechart\\lineXY.png", 600, 400);   
    }   
  
    // 保存为文件   
    public static void saveAsFile(JFreeChart chart, String outputPath,   
            int weight, int height) {   
        FileOutputStream out = null;   
        try {   
            File outFile = new File(outputPath);   
            if (!outFile.getParentFile().exists()) {   
                outFile.getParentFile().mkdirs();   
            }   
            out = new FileOutputStream(outputPath);   
            // 保存为PNG   
            ChartUtilities.writeChartAsPNG(out, chart, weight, height);   
            // 保存为JPEG   
            // ChartUtilities.writeChartAsJPEG(out, chart, weight, height);   
            out.flush();   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        } finally {   
            if (out != null) {   
                try {   
                    out.close();   
                } catch (IOException e) {   
                    // do nothing   
                }   
            }   
        }   
    }   
  
    // 根据XYDataset创建JFreeChart对象   
    public static JFreeChart createChart(XYDataset dataset) {   
        // 创建JFreeChart对象:ChartFactory.createXYLineChart   
        JFreeChart jfreechart = ChartFactory.createXYLineChart("XYLine Chart Demo", // 标题   
                "年分", // categoryAxisLabel (category轴,横轴,X轴标签)   
                "数量", // valueAxisLabel(value轴,纵轴,Y轴的标签)   
                dataset, // dataset   
                PlotOrientation.VERTICAL,
                true, // legend   
                false, // tooltips   
                false); // URLs   
  
        // 使用CategoryPlot设置各种参数。以下设置可以省略。   
        XYPlot plot = (XYPlot) jfreechart.getPlot();   
        // 背景色 透明度   
        plot.setBackgroundAlpha(0.5f);   
        // 前景色 透明度   
        plot.setForegroundAlpha(0.5f);   
        // 其它设置可以参考XYPlot类   
  
        return jfreechart;   
    }   
  
    /**  
     * 创建XYDataset对象  
     *   
     */  
    private static XYDataset createXYDataset() {   
        XYSeries xyseries1 = new XYSeries("One");   
        xyseries1.add(1987, 50);   
        xyseries1.add(1997, 20);   
        xyseries1.add(2007, 30);   
           
        XYSeries xyseries2 = new XYSeries("Two");   
        xyseries2.add(1987, 20);   
        xyseries2.add(1997, 10D);   
        xyseries2.add(2007, 40D);   
           
  
        XYSeries xyseries3 = new XYSeries("Three");   
        xyseries3.add(1987, 40);   
        xyseries3.add(1997, 30.0008);   
        xyseries3.add(2007, 38.24);   
           
  
        XYSeriesCollection xySeriesCollection = new XYSeriesCollection();   
  
        xySeriesCollection.addSeries(xyseries1);   
        xySeriesCollection.addSeries(xyseries2);   
        xySeriesCollection.addSeries(xyseries3);   
           
        return xySeriesCollection;   
    }   
}

 运行效果图:

 

 

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

相关推荐

    Java JFreeChart 后台生成折线图

    以上就是使用Java JFreeChart库在后台生成折线图的基本流程。饼图和柱状图的生成原理类似,只需替换相应的`ChartFactory`方法(如`createPieChart()`或`createBarChart()`),并调整数据集的结构以适应不同图表的...

    JSP利用JFreeChart生成折线图

    本教程将详细介绍如何在JSP中利用JFreeChart库来生成折线图。 首先,要使用JFreeChart,你需要在项目中引入相关的依赖。"标签"中提到的JFreeChart是这个过程的关键,它提供了丰富的API来创建图表。通常,你需要下载...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart是一个流行的Java库,用于生成各种类型的图表,包括折线图、饼图和柱状图,甚至堆栈柱状图。这个压缩包中的"CreateChartServiceImpl.java"文件很可能包含了一个实现这些功能的服务类。 首先,我们要理解...

    xy折线图(可控制x,y轴)JFreeChart

    JFreeChart chart = ChartFactory.createXYLineChart("liumingjin", // chart title "time(min)", // domain axis label "pv(mv)", // range axis label xyDataset, // data PlotOrientation....

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

    jfreechart是一款基于Java的开源图表绘制库,它能够帮助开发者轻松地在应用程序中生成各种图表,包括折线图、饼图、柱状图等。它的主要优势在于功能强大、配置灵活,并且支持导出多种格式的图表图像。 #### 二、...

    jfreechart折线图读取数据库数据的显示(mysql)

    本教程将详细讲解如何利用JFreeChart结合MySQL数据库来生成动态折线图,展示数据库中的数据。 首先,我们需要确保已经安装了JFreeChart库和MySQL的Java连接驱动(JDBC)。可以通过Maven或Gradle添加依赖,例如在...

    java利用jfreechart绘制excel参考.pdf

    JFreeChart 是一个流行的 Java 图表库,能够生成各种类型的图表,包括折线图、柱状图、饼状图等。下面是使用 JFreeChart 库绘制 Excel 图表的相关知识点: 导包 为了使用 JFreeChart 库,需要将 jfreechart-1.0.8a...

    JfreeChart画双Y轴折线图

    在Java编程领域,JFreeChart是一个非常流行的图表库,它允许开发者创建各种复杂的数据可视化图形,包括折线图、柱状图、饼图等。在本篇博客中,"JfreeChart画双Y轴折线图"的主题,将探讨如何使用JFreeChart库来创建...

    java实现各种数据统计图(柱形图,饼图,折线图)

    在Java编程语言中,生成各种数据统计图,如柱形图、饼图和折线图,通常会使用第三方库,例如jFreeChart。jFreeChart是一个功能强大的图表库,能够帮助开发者创建高质量的2D图表,广泛应用于数据分析、报告生成以及...

    java生成柱状图、拆线图

    生成折线图的步骤与柱状图类似,只是第一步创建的数据集类型为`XYDataset`,然后调用`ChartFactory.createXYLineChart()`方法。 以下是一个简单的柱状图示例代码: ```java import org.jfree.chart.ChartFactory; ...

    jfreechart生成报表图片.zip

    这个“jfreechart生成报表图片.zip”压缩包包含了一组资源,可以帮助你快速创建各种类型的图表,如柱状图、饼图、折线图等,非常适合用于数据可视化。 1. **JFreeChart库介绍**: JFreeChart是开源的Java库,它...

    JFreeChart做折线图.zip

    在本项目中,我们主要关注如何使用JFreeChart来生成基于JFrame的折线图。JFrame是Java Swing中的一个组件,常用来构建应用程序的主窗口。 首先,要使用JFreeChart,你需要在你的项目中引入它的依赖。这通常通过...

    jfreechart所需jar包.zip

    JFreeChart chart = ChartFactory.createLineChart("折线图标题", "X轴标签", "Y轴标签", dataset); ``` 5. 最后,可以将图表渲染到GUI组件,如Swing的`JFrame`,或者保存为图像文件(如PNG, JPEG)。 总之,...

    使用JFreeChart绘画条形图、饼状图以及折线图

    在Java Web开发中,JFreeChart是一个非常强大的库,它允许开发者创建各种类型的图表,包括条形图(Bar Chart)、饼状图(Pie Chart)和折线图(Line Chart)。这些图表可以用于数据可视化,帮助用户更好地理解复杂的...

    饼状图,折线图,柱状图的代码

    JFreeChart是一个强大的Java库,它提供了多种图表类型,包括饼状图、折线图和柱状图,用于生成高质量的图形。首先,确保已经正确地将JFreeChart库引入到项目中,这通常通过Maven或Gradle依赖管理工具完成。 **饼状...

    JFreeChart实时多Y轴二维折线绘图

    使用 ChartFactory.createXYLineChart 创建一个XY线图,设置图表的标题和轴标签。 设置图表的字体样式,使其在图表中更美观。 配置主坐标轴和副坐标轴,若提供了多个Y轴标签,将为每个标签创建一个新的数据集和坐标...

    java利用JFreeChart实现各类数据统计图柱形图饼图折线图.pdf

    Java 中可以使用 JFreeChart 库来实现各种数据统计图,如柱形图、饼图、折线图等。下面将详细介绍如何使用 JFreeChart 库实现数据统计图。 首先,需要添加三个第三方包到 Java 项目中,分别是 jfreechart-1.0.13....

    JFreeChart图表生成代码

    `jsp-jfreecharttest2.jpg`可能展示了如何在JSP中集成JFreeChart生成折线图。 压缩包中的`jfreechart-test源码.rar`文件包含了使用JFreeChart的示例代码,这将帮助你理解如何初始化图表、设置数据、自定义样式和...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    标题中提到的“jfreechart生成折线图、饼图、柱状图、堆栈柱状图”是指使用Java的一个开源图形库JFreeChart来创建不同类型的统计图表。JFreeChart是一个功能全面、成熟的Java图表库,广泛应用于各种应用程序中进行...

Global site tag (gtag.js) - Google Analytics