双击代码全选
1
2
3
4
5
DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 
dataset.addValue(100, "Jan", "Spring Security"); 
dataset.addValue(150, "Jan", "jBPM 4"); 
dataset.addValue(300, "Jan", "Ext JS"); 
dataset.addValue(100, "Jan", "JFreeChart"); 

  如果我们只画一条折线时,确保第二个参数是一致的。

  下一步使用createLineChart创建图表。

双击代码全选
1
2
3
4
5
6
7
8
9
10
JFreeChart chart = ChartFactory.createLineChart( 
  "chart",          // 标题 
  "num",           // 横坐标 
  "type",           // 纵坐标 
  dataset,          // 数据 
  PlotOrientation.VERTICAL,  // 竖直图表 
  true,            // 是否显示legend 
  false,           // 是否显示tooltip 
  false            // 是否使用url链接 
); 

  最后通过ChartUtilities将报表导出成图片。

  图 4.1. 简单折线图

  4.2. 三维折线图

  把createLineChart换成createLineChart3D就可以实现三维折线图。

  图 4.2. 三维折线图

  4.3. 多重折线图

  在CategoryDataset中设置多个分组即可显示为多重折线图。

双击代码全选
1
2
3
4
5
6
7
8
dataset.addValue(100, "Jan", "Spring Security"); 
dataset.addValue(150, "Jan", "jBPM 4"); 
dataset.addValue(300, "Jan", "Ext JS"); 
dataset.addValue(100, "Jan", "JFreeChart"); 
dataset.addValue(200, "Fer", "Spring Security"); 
dataset.addValue(120, "Fer", "jBPM 4"); 
dataset.addValue(240, "Fer", "Ext JS"); 
dataset.addValue(40, "Fer", "JFreeChart"); 

  图 4.3. 多重折线图

  4.4. 设置折线样式

  设置节点的样式。

双击代码全选
1
2
renderer.setBaseShapesVisible(true); 
renderer.setShape(new Ellipse2D.Double(-2, -2, 4, 4)); 

  显示数值

双击代码全选
1
2
renderer.setItemLabelsVisible(true); 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 

  显示虚线

双击代码全选
1
2
renderer.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_BUTT, 
    BasicStroke.JOIN_MITER, 10.0f, new float[] {10.0f}, 0.0f)); 

  只要会用awt,想要什么样的图形都可以画出来。

  图 4.4. 设置折线样式

报表应用系列——图表JFreeChart: 第 4 章 折线图的更多相关文章

  1. 使用jfreechart生成柱状图、折线图、和饼状图

    JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.下面我就详细介绍如 ...

  2. Android自己定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了非常多插件,可是非常多时候我们须要依据详细项目自己定义这些图表,这一篇文章我们一起来看看怎样在Android中使用Can ...

  3. Android自定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...

  4. Python图表数据可视化Seaborn:2. 分类数据可视化-分类散点图|分布图(箱型图|小提琴图|LV图表)|统计图(柱状图|折线图)

    1. 分类数据可视化 - 分类散点图 stripplot( ) / swarmplot( ) sns.stripplot(x="day",y="total_bill&qu ...

  5. Python交互图表可视化Bokeh:4. 折线图| 面积图

    折线图与面积图 ① 单线图.多线图② 面积图.堆叠面积图 1. 折线图--单线图 import numpy as np import pandas as pd import matplotlib.py ...

  6. JFreeChart应用(生成折线图)

    1.jar包,jcommon.jar和jfreechart.jar,具体用哪个版本官网去down吧: 还有另外一个jar包,gnujaxp.jar,这个引入之后编译的时候会报错,应该是xsd校验的问题 ...

  7. JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)

    import java.awt.BasicStroke; import java.awt.Color; import java.io.FileOutputStream; import java.io. ...

  8. JFreeChart在制作折线图

    JFreeChart在制作折线图的时候可以使用两种不同的方式 package Line; import java.awt.Color; import java.awt.Font; import org ...

  9. JfreeChart折线图 CSDN-李鹏飞

    今天公司里分配给我的工作是JfreeChart折线图本人之前也没接触过如今让我们大家一起完毕! 在这个公司,用到了太多的JfreeChart,今天就对折线图作一个总结,希望对大家有点帮助,我这里直接是 ...

随机推荐

  1. [JOYOI] 1055 沙子合并

    题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目描述 设有N堆沙子排成一排,其编号为1,2,3,-,N(N<=300).每堆沙子有 ...

  2. 零基础入门学习Python(26)--字典:当索引不好用时2

    知识点 删除字典元素 能删单一的元素也能清空字典,清空只需一项操作. 显示删除一个字典用del命令,如下: >>> dict1 = {'a':1,'b':2,'c':3} >& ...

  3. 01基础数据类型——list相关操作

    #列表的创建#列表是由[]来表示的,将元素放在[]中,如lst=["aa","bb",["cc","dd"," ...

  4. hdu4428(Coder)线段树

    Coder Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  5. C++ 赋值运算符重载

    类的定义 class Test{ int id; public: Test(int i): id(i){ cout << "obj_" << i <& ...

  6. Vue如何引入jquery实现平滑滚动到指定位置效果

    在以往的做法里首选jquery的animate实现,但是Vue里并没有这个方法.如何在Vue项目中实现点击导航平滑滚动到指定位置,为了这效果我是快要崩溃了,上网查阅了很久发现并没有真正意义上解决这个问 ...

  7. 《C语言程序设计(第四版)》阅读心得(三)

    第八章  指针 1.一个变量的地址称为该变量的指针 一个专门用来存放另一变量的地址(即指针),称它为指针变量.指针变量的值是指针(即地址) 如上图2000是变量的指针,pointer是指针变量, 赋值 ...

  8. hdu 1075 字典树

    #include<stdio.h> #include<iostream> struct node { int num,i; node *a[27]; char s[20];// ...

  9. CodeForces788B 欧拉路

    B. Weird journey time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  10. java中使用Protobuf的实例(Demo)

    由于Protobuf受到推崇,故尝试采用protobuf来摒弃传统的xml进行传输数据. 首先,需要下载的关于Protobuf的文件: 1.到http://code.google.com/p/prot ...