`
xblia
  • 浏览: 82629 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jfreechat 折线图

 
阅读更多

 

package com.test.jfree;
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.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
//JFreeChart Line Chart(折线图)  
public class CreateJFreeChartLine {

public static void main(String[] args) {
   // 步骤1:创建CategoryDataset对象(准备数据)
   CategoryDataset dataset = createDataset();
   // 步骤2:根据Dataset 生成JFreeChart对象,以及做相应的设置
   JFreeChart freeChart = createChart(dataset);
   // 步骤3:将JFreeChart对象输出到文件,Servlet输出流等
   saveAsFile(freeChart, "c:\\line.jpg", 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, 600, 400);
    // 保存为JPEG
    ChartUtilities.writeChartAsJPEG(out, chart, 600, 400);
    out.flush();
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (IOException e) {
    e.printStackTrace();
   } finally {
    if (out != null) {
     try {
      out.close();
     } catch (IOException e) {
      // do nothing
     }
    }
   }
}

// 根据CategoryDataset创建JFreeChart对象
public static JFreeChart createChart(CategoryDataset categoryDataset) {
   // 创建JFreeChart对象:ChartFactory.createLineChart
   JFreeChart jfreechart = ChartFactory.createLineChart("不同类别按小时计算拆线图", // 标题
     "年分", // categoryAxisLabel (category轴,横轴,X轴标签)
     "数量", // valueAxisLabel(value轴,纵轴,Y轴的标签)
     categoryDataset, // dataset
     PlotOrientation.VERTICAL, true, // legend
     false, // tooltips
     false); // URLs
  
   // 使用CategoryPlot设置各种参数。以下设置可以省略。
   CategoryPlot plot = (CategoryPlot) jfreechart.getPlot();
   // 背景色 透明度
   plot.setBackgroundAlpha(0.5f);
   // 前景色 透明度
   plot.setForegroundAlpha(0.5f);
   // 其他设置 参考 CategoryPlot类
  
   return jfreechart;
}


public static CategoryDataset createDataset() {
  
   String[] rowKeys = { "A平台" };
   String[] colKeys = { "0:00", "1:00", "2:00", "7:00", "8:00", "9:00",
     "10:00", "11:00", "12:00", "13:00", "16:00", "20:00", "21:00",
     "23:00" };
  
   double[][] data = { { 4, 3, 1, 1, 1, 1, 2, 2, 2, 1, 8, 2, 1, 1 }, };
  
   // 或者使用类似以下代码
   // DefaultCategoryDataset categoryDataset = new
   // DefaultCategoryDataset();
   // categoryDataset.addValue(10, "rowKey", "colKey");
   return DatasetUtilities.createCategoryDataset(rowKeys, colKeys, data);
}
}
分享到:
评论

相关推荐

    jfreechat 饼图,柱状,折线图示例代码

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D和3D图表,包括饼图、柱状图和折线图等。在Java应用中,这些图表常用于数据可视化,帮助用户直观理解复杂的数据信息。下面我们将详细介绍如何使用...

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

    JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如折线图、饼图、柱状图和堆栈柱状图等。它广泛应用于数据分析、报告和应用程序中,提供丰富的自定义选项来满足各种视觉需求。在本项目中,你将找到能够...

    JFreeChart双Y轴折线图实例,可以直接运行

    JFreeChart双Y轴折线图实例,可以直接运行,实例类为LineChartDemo1.JAVA,有注释。 若想在web工程使用只需如下。 String filename = ServletUtilities.saveChartAsPNG(jfreechart, 600, 400, null, session); ...

    JfreeChart画双Y轴折线图

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

    linux jfreechat 终极解决

    JFreeChart是一款流行的Java图表库,它提供了丰富的图表类型,如折线图、柱状图、饼图等,广泛应用于数据分析和可视化项目。然而,在某些Linux发行版,尤其是Ubuntu中,由于默认字体不支持或者配置问题,可能导致...

    JFreeChat基础包

    3. **线图(Line Chart)**:线图用于描绘数据随时间的变化趋势,JFreeChart支持折线图、曲线图,还可以添加标记点和趋势线,帮助用户识别模式和趋势。 4. **区域图(Area Chart)**:与线图类似,但填充了线下方的...

    jfreechat的例子

    JFreeChart是一个强大的Java库,用于创建各种图表,如折线图、柱状图、饼图、散点图、甘特图以及更多。这个库在IT行业中被广泛使用,尤其在数据分析、报表生成和可视化应用中。标题"jfreechart的例子"表明我们将探讨...

    jsp报表jfreechat学习案例

    JFreeChart是一个强大的Java库,用于创建各种图表,如折线图、饼状图和柱状图等。在"jsp报表jfreechat学习案例"中,我们主要关注如何利用JFreeChart与JavaServer Pages(JSP)技术结合,生成动态且交互式的报表。...

    第三方报表插件jfreechat及itext及实例

    首先,JFreeChart是一款强大的Java库,它允许开发者创建各种类型的图表,如折线图、柱状图、饼图、散点图等,模拟出类似水晶报表的效果。JFreeChart的强大之处在于其灵活性和定制性,开发者可以根据需求自定义图表的...

    jfreechat所用资源包

    **JFreeChart** 是一个非常流行的开源Java库,用于创建各种复杂的图表,如折线图、柱状图、饼图、散点图等。在Java应用程序、Web应用或任何需要展示数据可视化的平台上,JFreeChart是开发者常用的一个工具。**...

    JFreeChatTest.rar(JFreeChat报表)

    CategoryDataset通常用于柱状图、折线图等,而XYDataset适用于散点图和折线图。数据系列(Series)是数据集中的数据单元,可以通过添加或移除系列来改变图表内容。 **4. 图表组件** JFreeChart提供了一系列的组件...

    jspGraphic(浅析web图形报表的实现(struts+jfreechat) )

    JFreeChart是一个用纯Java编写的图表库,支持多种类型的图表,如折线图、柱状图、饼图、散点图等。开发者可以通过设置各种属性来定制图表的样式,包括颜色、字体、标记等,以满足不同场景的需求。此外,JFreeChart还...

    JFreeChat案例

    对于柱状图,可以使用`ChartFactory.createBarChart()`,折线图则使用`ChartFactory.createLineChart()`。它们的使用方式类似,只是数据集和定制选项略有不同。 在实际应用中,JFreeChart可以帮助我们快速创建具有...

    JFreeChat中文教程(入门篇)

    JFreeChart 是一个开源的 Java 图形库,它提供了丰富的图表类型,包括折线图、柱状图、饼图、散点图等,广泛应用于数据分析和可视化展示。这篇教程由刘冬,一位来自珠海市创我科技发展有限公司的软件工程师撰写,...

    JFreeChat学习

    JFreeChart提供了一系列接口和类,用于生成各种类型的图表,包括折线图、柱状图、饼图、散点图、甘特图等。它支持静态和动态图表,并且可以导出为多种格式,如PNG、JPEG、SVG和PDF。此外,JFreeChart还可以与JDBC和...

    jfreechat报表

    1. 折线图:用于展示数据随时间变化的趋势。 2. 柱状图:直观地比较不同类别的数量或比例。 3. 饼图:展示各部分占总体的比例。 4. 散点图:用于表示两个变量之间的关系。 5. 地图:如果数据与地理位置相关,...

    jfreechat中文教程

    - 折线图(XYLineChart):适用于多组数据集的比较。 4. **创建图表** - 创建 ChartFactory:使用 ChartFactory 提供的静态方法快速创建不同类型的图表。 - 设置数据源:通过 CategoryDataset 或 XYDataset 设置...

    jfreechat 中文API

    - `XYDataset`: 用于散点图和折线图的数据集接口。 - ` PieDataset`: 用于饼图的数据集接口。 - `LegendItemSource`: 提供图例项的接口。 ### 6. 示例代码 ```java import org.jfree.chart.ChartFactory; import ...

Global site tag (gtag.js) - Google Analytics