JFreeChart 之折线图

一、JFreeChart 简介

  JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。

二、JFreeChart 的使用

  官方网站:http://www.jfree.org/

  下载地址:https://sourceforge.net/projects/jfreechart/files/1.%20JFreeChart/

1、拷贝相关的 Jar (jcommon-1.0.23.jar和jfreechart-1.0.19.jar)到 Java 项目中

2、折线图示例(LineChart.java

 package cn.com.zfc.jfreechart;

 import java.awt.Font;
import java.awt.Rectangle;
import java.io.File;
import java.io.IOException; import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.NumberTickUnit;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.DefaultCategoryDataset; /**
* 使用 JFreeChart 技术画折线图
*
* @describe
* @author zfc
* @date 2017年12月28日 下午7:21:51
*/
public class LineChart {
public static void main(String[] args) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// 添加数据
dataset.addValue(98, "数学", "张三");
dataset.addValue(68, "数学", "李四");
dataset.addValue(56, "数学", "王五");
JFreeChart chart = ChartFactory.createLineChart("用户统计报表(所属单位)", // 主标题的名称
"所属单位名称", // X轴的标签
"数量", // Y轴的标签
dataset, // 图标显示的数据集合
PlotOrientation.VERTICAL, // 图像的显示形式(水平或者垂直)
true, // 是否显示子标题
true, // 是否生成提示的标签
true); // 是否生成URL链接 // 处理图形上的乱码 // 处理主标题的乱码
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 18));
// 处理子标题乱码
chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 15));
// 获取图表区域对象
CategoryPlot categoryPlot = (CategoryPlot) chart.getPlot();
// 获取X轴的对象
CategoryAxis categoryAxis = (CategoryAxis) categoryPlot.getDomainAxis();
// 获取Y轴的对象
NumberAxis numberAxis = (NumberAxis) categoryPlot.getRangeAxis();
// 处理X轴上的乱码
categoryAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 15));
// 处理X轴外的乱码
categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 15));
// 处理Y轴上的乱码
numberAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 15));
// 处理Y轴外的乱码
numberAxis.setLabelFont(new Font("宋体", Font.BOLD, 15));
// 处理Y轴上显示的刻度,以10作为1格
numberAxis.setAutoTickUnitSelection(false);
NumberTickUnit unit = new NumberTickUnit(10);
numberAxis.setTickUnit(unit);
// 获取绘图区域对象
LineAndShapeRenderer lineAndShapeRenderer = (LineAndShapeRenderer) categoryPlot.getRenderer();
// 在图形上显示数字
lineAndShapeRenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
lineAndShapeRenderer.setBaseItemLabelsVisible(true);
lineAndShapeRenderer.setBaseItemLabelFont(new Font("宋体", Font.BOLD, 15));
// 在图形上添加转折点(使用小矩形显示)
Rectangle shape = new Rectangle(10, 10);
lineAndShapeRenderer.setSeriesShape(0, shape);
lineAndShapeRenderer.setSeriesShapesVisible(0, true);
/* 8、生成相应的图片 */
File file = new File("LineChart.JPEG");
try {
ChartUtilities.saveChartAsJPEG(file, chart, 800, 600);
} catch (IOException e) {
e.printStackTrace();
}
// 使用ChartFrame对象显示图像
ChartFrame frame = new ChartFrame("zfc", chart);
frame.setVisible(true);
frame.pack();
}
}

3、运行结果

JFreeChart 之折线图的更多相关文章

  1. 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)

    利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...

  2. JFreeChart绘制折线图实例

    JFreeChart是JAVA平台上的一个开放的第三方图表绘制类库.只要下载JFreeChart的类库,导入项目即可使用.下面是一个绘制折线图的实例.各处注释都已经写的比较清晰了. package c ...

  3. SpringMVC框架下使用jfreechart绘制折线图,柱状图,饼状图

    java代码 @Controller public class CityAction { @Autowired private CityBiz cityBiz; //柱状图 @RequestMappi ...

  4. JAVA Swing使用JFreeChart实现折线图绘制

    效果如下: 实现步骤: 1.导入JAR包 jfreechart官网下载的zip文件中包含这两个jar包 2.代码编写 import org.jfree.chart.ChartFactory; impo ...

  5. JFreeChart画折线图

    请见Github博客: http://wuxichen.github.io/Myblog/htmlcss/2014/09/01/JFreechartLinechart.html

  6. java利用JFreeChart实现各种数据统计图(柱形图,饼图,折线图)

    最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给用户,这就要用到数据统计图,要实现这个功能就需要几个第三方包了: 1.       jfreechart-1.0.13.jar 2.    ...

  7. JFreeChart在制作折线图

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

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

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

  9. struts2整合JFreechart 饼图、折线图、柱形图

    struts2整合JFreechart 饼图.折线图.柱形图 上效果图: 当然可以将数据导出图片格式存储.具体下的链接里的文件有保存成图片的操作. 因为是strust2整合JFreechart,所以s ...

随机推荐

  1. xen list_domains stat 解析

    XenServer中可以使用list_domains命令来查看所有VM以及Dom0的运行状态以及简单的资源消耗,如下: [root@xenserver ~]# list_domains id | uu ...

  2. jQuery 实现 bootstrap 模态框 删除确认

    思路: 点击删除按钮,通过jquery将删除操作的URL赋值到页面URL元素,并弹出会话框 用户点击确认,通过jquery获取URL,并发送删除请求至后台. 一.删除button <a clas ...

  3. 蓝桥杯 大臣的旅费_树的最长度_两次DFS

    #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> ...

  4. Java技术体系总结

    PC前端:Javascript.JQuery.Angularjs.Reactjs.TypeScript 移动前端:Vue.js.Zepto WebJars spring:spring mvc.spri ...

  5. 跨域请求:JSONP

    在JavaScript中,有一个很重要的安全性限制,被称为"同源策略".即JavaScript只能访问与包含它的文档在同一域下的内容.然而,当进行一些比较深入的前端编程的时候,不可 ...

  6. expect 交互 之双引号较长变量

    交互双引号较长变量  #!/bin/bash RemoteUser=xuesong12 Ip=192.168.1.2 RemotePasswd=xuesong Cmd="/bin/echo ...

  7. python字典转datafarm,pandas

    # coding:utf-8 import json import pandas as pd with open("./article_file/all_article.json" ...

  8. android MeasureSpec的三个测量模式

    1.MeasureSpec含义 其实可以去看MeasureSpec的文档,里面对MeasureSpec的作用介绍得很清楚.MeasureSpec封装了父布局传递给子布局的布局要求,每个MeasureS ...

  9. linux 图形配置网络

    命令:setup 打开网络等系统信息的图形配置 yyp复制 vi /etc/sysconfig/network-scripts/ifcfg-eth0 配置网络参数 重启网卡:/etc/init.d/n ...

  10. oracle日期、转换函数

    转换函数 日期类型转换成字符类型 select to_char(sysdate) s1, --14-3月 -16        to_char(sysdate, 'yyyy-mm-dd') s2, - ...