优秀的判断力来自经验,但经验来自于错误的判断。——Fred Brooks

去年我用python玩过统计图的制作,不过玩过python的都对python的骚操作见惯不怪了,那么我们能用java制作统计图吗?答案是肯定的,毕竟java王国人才济济嘛,总有前人给我们铺好了困难的路。这个就是站在巨人的肩膀上编程。

一.前期下载与配置jar包

一 .下载
1.这个链接–>>> www.jfree.org/jfreechart
2.下载并解压后如下图。

3.点击上图所示解压包,如下图,这里我们有我们需要的jar包,不过现在不急,等下才会用到这个。

二.配置
1.我们去到eclipse,单击左键选中我们建立的java project包(或Maven project包),后右键,选中Build Path->Add External Archives…
2.这时会出现如下图界面

3.点击红笔圈的这个,再按下打开,就可以了。
4.成功导入jar包后如下图

二.代码部分

import java.awt.Font;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;public class JfreeChartsDemo {public static void main(String[] args) {writebar("D:\\java生成统计图\\(柱状图)中国历年GDP年度增长率(1999-2018).jpg");writepie("D:\\java生成统计图\\某大学生一个月花销.jpg");writeline("D:\\java生成统计图\\(折线图)中印两国历年GDP年度增长率(1999-2018).jpg");System.out.println("=====================");System.out.println("SUCCESS!");System.out.println("=====================");}//配置显示情况,CN是中文显示,setExtraLargeFont,setRegularFont,setLargeFont这三个是图片上字体风格的设置public static StandardChartTheme geChartTheme() {StandardChartTheme standardChartTheme=new StandardChartTheme("CN");standardChartTheme.setExtraLargeFont(new Font("宋体",Font.BOLD,40));standardChartTheme.setRegularFont(new Font("宋体",Font.BOLD, 25));standardChartTheme.setLargeFont(new Font("宋体", Font.BOLD, 25));return standardChartTheme;}//绘制柱状统计图public static void writebar(String filename) {DefaultCategoryDataset defaultCategoryDataset=new DefaultCategoryDataset();defaultCategoryDataset.addValue(7.67,"", "1999");defaultCategoryDataset.addValue(8.49,"", "2000");defaultCategoryDataset.addValue(8.34,"", "2001");defaultCategoryDataset.addValue(9.13,"", "2002");defaultCategoryDataset.addValue(10.04,"", "2003");defaultCategoryDataset.addValue(10.11,"", "2004");defaultCategoryDataset.addValue(11.40,"", "2005");defaultCategoryDataset.addValue(12.72,"", "2006");defaultCategoryDataset.addValue(14.23,"", "2007");defaultCategoryDataset.addValue(9.65,"", "2008");defaultCategoryDataset.addValue(9.40,"", "2009");defaultCategoryDataset.addValue(10.64,"", "2010");defaultCategoryDataset.addValue(9.54,"", "2011");defaultCategoryDataset.addValue(7.86,"", "2012");defaultCategoryDataset.addValue(7.76,"", "2013");defaultCategoryDataset.addValue(7.30,"", "2014");defaultCategoryDataset.addValue(6.90,"", "2015");defaultCategoryDataset.addValue(6.70,"", "2016");defaultCategoryDataset.addValue(6.90,"", "2017");defaultCategoryDataset.addValue(6.60,"", "2018");ChartFactory.setChartTheme(geChartTheme());JFreeChart jFreeChart=ChartFactory.createBarChart3D("中国历年GDP年度增长率(1999-2018)", "根据网上数据绘制", "增长单位为的%", defaultCategoryDataset, PlotOrientation.VERTICAL, false, false, false);try {ChartUtilities.saveChartAsJPEG(new File(filename),jFreeChart , 2000,800);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}
}//绘制饼状统计图public static void writepie(String filename) {DefaultPieDataset defaultPieDataset=new DefaultPieDataset();defaultPieDataset.setValue("吃饭",800);defaultPieDataset.setValue("手机/上网费用", 200);defaultPieDataset.setValue("网购", 200);defaultPieDataset.setValue("和朋友一起去玩", 300);JFreeChart jFreeChart=ChartFactory.createPieChart("一个月的花销情况",defaultPieDataset);try {ChartUtilities.saveChartAsJPEG(new File(filename), jFreeChart,1000,1000);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//绘制折线图public static void writeline(String filename) {DefaultCategoryDataset defaultCategoryDataset=new DefaultCategoryDataset();defaultCategoryDataset.addValue(7.67,"中国", "1999");defaultCategoryDataset.addValue(8.49,"中国", "2000");defaultCategoryDataset.addValue(8.34,"中国", "2001");defaultCategoryDataset.addValue(9.13,"中国", "2002");defaultCategoryDataset.addValue(10.04,"中国", "2003");defaultCategoryDataset.addValue(10.11,"中国", "2004");defaultCategoryDataset.addValue(11.40,"中国", "2005");defaultCategoryDataset.addValue(12.72,"中国", "2006");defaultCategoryDataset.addValue(14.23,"中国", "2007");defaultCategoryDataset.addValue(9.65,"中国", "2008");defaultCategoryDataset.addValue(9.40,"中国", "2009");defaultCategoryDataset.addValue(10.64,"中国", "2010");defaultCategoryDataset.addValue(9.54,"中国", "2011");defaultCategoryDataset.addValue(7.86,"中国", "2012");defaultCategoryDataset.addValue(7.76,"中国", "2013");defaultCategoryDataset.addValue(7.30,"中国", "2014");defaultCategoryDataset.addValue(6.90,"中国", "2015");defaultCategoryDataset.addValue(6.70,"中国", "2016");defaultCategoryDataset.addValue(6.90,"中国", "2017");defaultCategoryDataset.addValue(6.60,"中国", "2018");defaultCategoryDataset.addValue(8.85,"印度", "1999");defaultCategoryDataset.addValue(3.84,"印度", "2000");defaultCategoryDataset.addValue(4.82,"印度", "2001");defaultCategoryDataset.addValue(3.8,"印度", "2002");defaultCategoryDataset.addValue(7.86,"印度", "2003");defaultCategoryDataset.addValue(7.92,"印度", "2004");defaultCategoryDataset.addValue(7.92,"印度", "2005");defaultCategoryDataset.addValue(8.06,"印度", "2006");defaultCategoryDataset.addValue(7.66,"印度", "2007");defaultCategoryDataset.addValue(3.09,"印度", "2008");defaultCategoryDataset.addValue(7.86,"印度", "2009");defaultCategoryDataset.addValue(8.50,"印度", "2010");defaultCategoryDataset.addValue(5.24,"印度", "2011");defaultCategoryDataset.addValue(5.46,"印度", "2012");defaultCategoryDataset.addValue(6.39,"印度", "2013");defaultCategoryDataset.addValue(7.41,"印度", "2014");defaultCategoryDataset.addValue(8.0,"印度", "2015");defaultCategoryDataset.addValue(8.17,"印度", "2016");defaultCategoryDataset.addValue(7.17,"印度", "2017");defaultCategoryDataset.addValue(6.98,"印度", "2018");JFreeChart jFreeChart=ChartFactory.createLineChart("中印两国经济增速一览","时间","增长单位为的%", defaultCategoryDataset);try {ChartUtilities.saveChartAsJPEG(new File(filename), jFreeChart, 1888, 888);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

三.生成图片展示




四.总结

我决定养成写总结的好习惯,总结什么呢?我也不知道总结什么,所以我决定随便说点什么,比如,我现在知道了java也能做统计图,二维码,词云。。。之前我认为这些只有python这种能骚操作连连的语言才能做的事,没想到java这样“严肃”的语言也能做。这让我对java刮目相看,并坚定了java是最好的语言的看法,哈哈。希望我学习java的道路能发现更多的乐趣。

03-java制作统计图(柱状,饼状,折线状)相关推荐

  1. axure画扇形_如何利用axure制作一个动态的饼状图

    话不多少,先放图! 饼状图 首先,我们来分析一下动态效果 1.鼠标悬浮饼状块颜色发生了改变,且尺寸发生了变化 2.鼠标移入不同的块内,提示框随着鼠标的移动而移动,且提示框内的文字发生了变化.​ ​然 ...

  2. canvas制作柱形图/折线图/饼状图,Konva写动态饼状图

    制作饼状图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  3. java生成折线图,饼状图,柱形图

    需要的jar包: jfreechart-1.0.13.jar jcommon-1.0.14.jar package com.viathink.lims.util;import java.awt.Col ...

  4. ECharts的学习(二):制作一个简单的饼状图,并对其设置样式

    这是学习ECharts的练手之作,中文学习网址:http://echarts.baidu.com/index.html 实现效果图如下: <!DOCTYPE html> <html& ...

  5. 若依项目制作饼状图和柱状图

    这里的是根据年两分段做一个饼状图,根据性别人数制作柱状图 echarts+vue 饼状图 先写一个实体类,将查到的数据放在实体类中,写一个mapper->mapper.xml->contr ...

  6. Java使用POI生成饼状图导出到word文档(饼状图)

    本篇文章主要介绍,如何使用Apache POI组件生成饼状图导出到word文档中,具体步骤看下文. 一.实现效果 Java使用POI技术生成饼状图导出到word文档中,最终生成的饼状图如下所示: 二. ...

  7. jsp怎么做柱状图_用jsp怎样生成柱状图,饼状图,折线图

    展开全部 jsp生成柱状图,饼状图,折线图可以32313133353236313431303231363533e59b9ee7ad9431333339663338借助于jfreechart. 1.柱状 ...

  8. D3.js上手——饼状图

    饼状图是数据统计中经常用到的另一类图表,饼图可以直观地显示一个数据系列中各项的大小与各项总和的比例,本文将使用D3上手制作一个简单的饼状图 什么是布局 布局是D3中非常重要的内容,有了布局D3才能画出 ...

  9. android 自定义饼图半径不定,【Android】仿支付宝账单统计饼状图的自定义view

    仿支付宝统计饼状图的自定义view,如下图: 项目地址:https://github.com/bigeyechou/CustomViewCollection 目录:customviewcollecti ...

  10. java 生成柱状图、饼状图等图片保存至word文档

    写在前面,springboot pom 中引入下面就可以了,省了在csdn找包很麻烦. <dependency><artifactId>jfreechart</artif ...

最新文章

  1. linux内核dma内存分配,Linux 4.x 内核空间 DMA 虚拟内存地址
  2. request、response 中文乱码问题与解决方式
  3. 如何在Mac下显示Finder中的所有文件
  4. AppleScript 以管理员身份运行程序
  5. 很朴素的学习嵌入式系统的经验
  6. java学习(113):Calendar类
  7. 吴恩达机器学习笔记五之神经网络
  8. 【c语言复习笔记】初始c源程序及其数据类型
  9. 201204NEWS
  10. word 无法启动转换器wps32修复工具
  11. java数组按大小排序_Java数组排序
  12. suse 12 sp5安装bug
  13. 读书笔记-------修炼之道互联网产品从设计到运营
  14. 去除input默认的加减号
  15. Tomcat和Http协议详细解析
  16. ios 图像坐标系_[译] iOS 开源图形库 Core Plot 使用教程
  17. [含文档+源码等]微信小程序校园生活小助手+后台管理系统前后分离VUE[包运行成功]
  18. SpringMVC+log4j配置
  19. Unity3D RPG角色扮演游戏源码(上下)-----源代码分析----04--修改菜单窗口
  20. 【爬虫】一种基于网页相似度去重的爬虫系统

热门文章

  1. 1M宽带50M宽带100M宽带最大下载速度
  2. SpringBoot——自学笔记
  3. 抢菜捡漏工具(PrintScreenCatchImg)
  4. 完整版本支付宝扫码支付 c#版本
  5. 【更新中】SmartGit 注册码 算法注册机
  6. DevExpress ASP.NET and Blazor图表编制
  7. Spring Boot - 开启 HttpBasic 认证方式
  8. 如何从头搭建一个搜索引擎_pylucene,分词,语言编码问题
  9. Java物流成本计算器
  10. QCY T3 蓝牙耳机连接电脑 声音断续卡顿