双击代码全选
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. BZOJ 2039 人员雇佣 二元关系 最小割

    题面太长了,请各位自行品尝—>人员雇佣 分析: 借用题解的描述: a.选择每个人有一个代价Ai b.如果有两个人同时选择就可以获得收益Ei,j c.如果一个人选择另一个不选会产生代价Ei,j 这 ...

  2. PHP实现微信第三方登录的方法

    本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请 一开始你需要进入微信公 ...

  3. 后端传前端数据乱码(返回json字符串到前端)

    中文乱码的问题,在开发过程中难免会遇到,而在配置好编码之后,不管是数据库,还是其他地方都配置好统一UTF-8编码之后,后端从数据库取出数据传回前端,还会乱码,这里以ssm框架为例,因为是我自己遇到的, ...

  4. Vue如何mock数据模拟Ajax请求

    我们在做一个项目时前期可能没有后端提供接口模拟数据,那么作为前端就需要自己写json文件模拟数据加载.网上往往参考的都是不全面的,比如get请求没问题但是post请求就报错了.在Vue中只需要vue- ...

  5. node.js 写流 createWriteStream----由浅入深

    createWriteStream 写流 基于fs模块 let fs=require("fs"); createWriteStream创建一个写流 我们先创建一个2.txt要写入的 ...

  6. iOS 数据库操作崩溃提示“ int rc = sqlite3_step([_statement statement]);”或者提示“ rc = sqlite3_step(pStmt);”

    数据库崩溃崩溃提示“ int rc = sqlite3_step([_statement statement]);”或者提示“ rc      = sqlite3_step(pStmt);”的时候,可 ...

  7. python之模块随笔记-os

    操作系统模块:import os os.remove() 删除文件 os.unlink() 删除链接文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.c ...

  8. 洛谷——P1151 子数整数

    P1151 子数整数 题目描述 对于一个五位数a1a2a3a4a5,可将其拆分为三个子数: sub1=a1a2a3 sub2=a2a3a4 sub3=a3a4a5 例如,五位数20207可以拆分成 s ...

  9. MongoDB小结11 - update【save】

    save是一个shell函数,调用它,可以在文档不存在时插入,存在时更新,它只有一个参数:文档.如果文档有 _id 这个 键,那么save会调用upsert,否则会调用insert,非常方便.

  10. JS函数节流代码实现

    函数被频繁调用场景 Js中的函数大多数情况下都是由用户主动调用触发的,一般不会遇到性能相关的问题.但在一些少数情况下,函数的触发不是由用户直接控制.在这些场景下,函数有可能被非常频繁地调用,而造成大的 ...