JFreeChart是JAVA平台上的一个开放的图表绘制类库。

所需jar包:>点我下载

Demo实例下载:>点我下载

一:JFreeChart制作饼状图

①:加入所需的jar包

②:核心代码

import java.awt.Font;
import java.awt.Image;
import java.io.File;import javax.imageio.ImageIO;import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;/*** 饼状图实现* @author 谢豪**/
public class JFreeChart_PieChart {public static void main(String[] args) {try {//如果不使用Font,中文将显示不出来Font font = new Font("宋体", Font.BOLD, 15);DefaultPieDataset pds = new DefaultPieDataset();pds.setValue("sun", 100);pds.setValue("ibm", 300);pds.setValue("bea", 500);pds.setValue("oracle", 700);/*** 生成一个饼图的图表** 分别是:显示图表的标题、需要提供对应图表的DateSet对象、是否显示图例、是否生成贴士以及是否生成URL链接*/JFreeChart chart = ChartFactory.createPieChart("标题", pds, true, false, true);//设置图片标题的字体chart.getTitle().setFont(font);//得到图块,准备设置标签的字体PiePlot plot = (PiePlot) chart.getPlot();//设置分裂效果,需要指定分裂出去的keyplot.setExplodePercent("oracle", 0.3);//设置标签字体plot.setLabelFont(font);//设置图例项目字体chart.getLegend().setItemFont(font);/*** 设置开始角度(弧度计算)** 度    0°    30°        45°        60°        90°        120°    135°    150°    180°    270°    360°* 弧度    0    π/6        π/4        π/3        π/2        2π/3    3π/4    5π/6    π        3π/2    2π*/plot.setStartAngle(new Float(3.14f / 2f));//设置背景图片,设置最大的背景Image img = ImageIO.read(new File("D:/JFreeChart/背景图-白色.jpg"));chart.setBackgroundImage(img);//设置plot的背景图片img = ImageIO.read(new File("D:/JFreeChart/背景图-粉色.jpg"));plot.setBackgroundImage(img);//设置plot的前景色透明度plot.setForegroundAlpha(0.7f);//设置plot的背景色透明度plot.setBackgroundAlpha(0.0f);//设置标签生成器(默认{0})//{0}:key {1}:value {2}:百分比 {3}:sumplot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}({1})/{2}"));//将内存中的图片写到本地硬盘ChartUtilities.saveChartAsJPEG(new File("D:/JFreeChart/数据图.jpg"), chart, 600, 300);} catch (Exception e) {e.printStackTrace();}}
}

③:生成的图片

④:设置3D效果方法:

ChartFactory.createPieChart() 改为 ChartFactory.createPieChart3D()
PiePlot plot = (PiePlot) chart.getPlot() 改为 PiePlot3D plot = (PiePlot3D) chart.getPlot()
即可。

二:JFreeChart制作树状图

①:加入所需的jar包

②:核心代码

import java.awt.Font;
import java.io.File;import javax.imageio.ImageIO;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.DefaultCategoryDataset;/*** 树状图实现* @author 谢豪**/
public class JFreeChart_Dendrogram {public static void main(String[] args) {try {//种类数据集DefaultCategoryDataset ds = new DefaultCategoryDataset();ds.setValue(100, "ibm", "第一季度");ds.setValue(200, "ibm", "第二季度");ds.setValue(600, "ibm", "第三季度");ds.setValue(500, "google", "第一季度");ds.setValue(333, "google", "第二季度");ds.setValue(780, "google", "第三季度");ds.setValue(600, "用友", "第一季度");ds.setValue(1500, "用友", "第二季度");ds.setValue(300, "用友", "第三季度");Font font = new Font("宋体", Font.BOLD, 20);//创建柱状图,柱状图分水平显示和垂直显示两种JFreeChart chart = ChartFactory.createBarChart("前三季度各大公司JEEAS市场销售情况", "季度", "销量(万台)", ds, PlotOrientation.VERTICAL, true, true, true);//设置整个图片的标题字体chart.getTitle().setFont(font);//设置提示条字体font = new Font("宋体", Font.BOLD, 15);chart.getLegend().setItemFont(font);//得到绘图区CategoryPlot plot = (CategoryPlot) chart.getPlot();//得到绘图区的域轴(横轴),设置标签的字体plot.getDomainAxis().setLabelFont(font);//设置横轴标签项字体plot.getDomainAxis().setTickLabelFont(font);//设置范围轴(纵轴)字体plot.getRangeAxis().setLabelFont(font);//存储成图片//设置chart的背景图片chart.setBackgroundImage(ImageIO.read(new File("D:/JFreeChart/背景图-白色.jpg")));plot.setBackgroundImage(ImageIO.read(new File("D:/JFreeChart/背景图-粉色.jpg")));plot.setForegroundAlpha(1.0f);ChartUtilities.saveChartAsJPEG(new File("D:/JFreeChart/数据图.jpg"), chart, 600, 400);} catch (Exception e) {e.printStackTrace();}}
}

③:生成的图片

④:设置3D效果方法:

JFreeChart chart = ChartFactory.createBarChart() 改为 JFreeChart chart = ChartFactory.createBarChart3D()
即可。

三:JFreeChart制作折线图

①:加入所需的jar包

②:核心代码

import java.awt.Font;
import java.io.File;import javax.imageio.ImageIO;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.DefaultCategoryDataset;/*** 折线图实现* @author 谢豪**/
public class JFreeChart_FoldLine {public static void main(String[] args) {try {//种类数据集DefaultCategoryDataset ds = new DefaultCategoryDataset();ds.setValue(100, "ibm", "第一季度");ds.setValue(200, "ibm", "第二季度");ds.setValue(600, "ibm", "第三季度");ds.setValue(500, "google", "第一季度");ds.setValue(333, "google", "第二季度");ds.setValue(780, "google", "第三季度");ds.setValue(600, "用友", "第一季度");ds.setValue(1500, "用友", "第二季度");ds.setValue(300, "用友", "第三季度");Font font = new Font("宋体", Font.BOLD, 20);//创建柱状图JFreeChart chart = ChartFactory.createLineChart("前三季度各大公司JEEAS市场销售情况", "季度", "销量(万台)", ds, PlotOrientation.VERTICAL, true, true, true);//设置整个图片的标题字体chart.getTitle().setFont(font);//设置提示条字体font = new Font("宋体", Font.BOLD, 15);chart.getLegend().setItemFont(font);//得到绘图区CategoryPlot plot = (CategoryPlot) chart.getPlot();//得到绘图区的域轴(横轴),设置标签的字体plot.getDomainAxis().setLabelFont(font);//设置横轴标签项字体plot.getDomainAxis().setTickLabelFont(font);//设置范围轴(纵轴)字体plot.getRangeAxis().setLabelFont(font);//存储成图片//设置chart的背景图片chart.setBackgroundImage(ImageIO.read(new File("D:/JFreeChart/背景图-白色.jpg")));plot.setBackgroundImage(ImageIO.read(new File("D:/JFreeChart/背景图-粉色.jpg")));plot.setForegroundAlpha(1.0f);ChartUtilities.saveChartAsJPEG(new File("D:/JFreeChart/数据图.jpg"), chart, 600, 400);} catch (Exception e) {e.printStackTrace();}}
}

③:生成的图片

④:设置3D效果方法:

JFreeChart chart = ChartFactory.createLineChart() 改为 JFreeChart chart = ChartFactory.createLineChart3D()
即可。

JFreeChart报表实现饼状图(3D),柱状图(3D),折线图(3D)相关推荐

  1. eacharts和eacharts-gl、3d饼图、3d柱状图加折线图、下载gl报错解决

    eacharts-gl下载时版本一定要和eacharts版本对应.否则不出效果!!目前已知可以生效有: 第一种1: npm install echarts@5.1.2 --save npm insta ...

  2. echarts制作图表同时有3d柱状图与折线图

    echarts制作图表同时有3d柱状图与折线图 工作遇到,小可爱们可直接抄作业,使用的pictorialBar 工作遇到,小可爱们可直接抄作业,使用的pictorialBar echarts封装,使用 ...

  3. pygal的简单应用:利用pygal库分别绘制雷达图、柱状图和折线图

    在Python中,pygal 是一个常用数据可视化的数据图库,它以面向对象的方式来创建各种数据图,而且使用 pygal 可以非常方便地生成各种格式的数据图,包括 PNG.SVG.JPG .GIF等.使 ...

  4. Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)

    工具类 CreatLineChart.java package DrawLine;import java.awt.BasicStroke; import java.awt.Color; import ...

  5. 安卓案例:使用MPAndroidChart绘制饼状图、柱状图和折线图

    目录 一.MPAndroidChart概述 二.案例运行效果 1.主控界面 2.显示饼状图 3.显示柱状图

  6. Python绘制股票日K图(十)汇总日K图、柱状图、折线图

    免费获取更多最新股市数据关注头像同名恭祝好! 在一个figure上画三个图,我们首先要给figure添加gridspec,代码如下: gs = fig.add_gridspec(3, 1, # 三行一 ...

  7. javafx扇形图、柱状图、折线图的使用

    注意:本文的Javafx应用是采用fxml布局,Java写业务逻辑的. 实现效果 Main.java import javafx.application.Application; import jav ...

  8. 一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

    今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts 和 Matplotlib .pyecharts等常见的图表不同, 使用这个包可以生成下面这种看起来像手绘的各种图表, ...

  9. Web在jsp页面中生成柱状图,折线图,饼状图

    一.前言 在实际开发过程中,柱状图,折线图,饼状图在一些OA,ERP中是非常常见的功能,特别是需求方是业务型,数据分析型公司,下面的例子简单实现了饼状图,柱状图,折线图在jsp中生成.(ps:新手上路 ...

最新文章

  1. SFTP Net Drive
  2. js能订阅mq吗_高颜值宠物营养品订阅盒!除了好看,真的能补充营养吗?
  3. uvision4 ide已停止工作
  4. 清除webkit浏览器css设置滚动条
  5. 年青人应知道的几个故事
  6. 新款iPhone SE预约量超40万,拼多多已经安排上,击穿底价2999元?
  7. libcap-ng库旨在使具有posix功能的编程比传统的libcap库容易得多
  8. 金电容(法拉电容)与可充放电池的相关知识
  9. 台式计算机电源机箱维修,终于理会电脑电源故障的维修方法
  10. OpenCV实践之车流量统计(C++)
  11. C# 本地图片转Base64码和Base64码显示
  12. js 单击、双击、连续多次点击
  13. 纳德拉:没有Excel的世界是无法想象的
  14. 语雀可以导出html吗,工具 - Confluence 迁移到语雀 - 《语雀使用文档》 - 书栈网 · BookStack...
  15. c语言 解元二次函数的源代码,学霸强推,高中数学万能解题方法,对数学一筹莫展的你必看!...
  16. 苹果自带地图进行定位
  17. OPENGL学习(四)GLUT三维图像绘制
  18. 高考数学辅导高考数学复习各个阶段备考指导
  19. 计算机职称证的用途,计算机软考高项过了有什么用处
  20. ROS msg 文件修改 报错

热门文章

  1. vscode编辑python时跳转到.pyi而不是源码的问题
  2. 接收机的常用结构简介
  3. 数据仓库进阶 《阿里大数据之路》第二篇 数据模型篇 (完整版)
  4. 自动钉木箱机器人_包装木箱自动打钉系统控制的方案设计
  5. springmvc笔记(尚硅谷)
  6. 集成墙板能用多少年?以及未来有哪些发展趋势?
  7. 第一次打“110”之孕妇偷车[有电车的须看]
  8. ie js html 压缩,H5图片裁剪-压缩-上传-神奇的Croppie.js
  9. 利用爬虫和Django+echarts建立自己的动画人气统计小站
  10. 毕业10年就能拿到百万年薪:00后大学生,为什么这么自信?