最近项目增加了需求,想要下载折线图和柱状图结合的综合图。我查了一会儿,要实现这个功能,我使用了这两个第三方包了:

  1. jfreechart-1.0.19.jar
  2. jcommon-1.0.23.jar

效果:

步骤:

①、导入其相应的 jcommon-1.0.23.jar和 jfreechart-1.0.19.jar文件
②、下面就可以写实现功能的代码了

import java.awt.Color;
import java.awt.Font;
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.CategoryAxis3D;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis3D;
import org.jfree.chart.axis.NumberTickUnit;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.DatasetRenderingOrder;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.DefaultCategoryDataset;public class test {public static void main(String[] args) {//折线图数据DefaultCategoryDataset lineDataset = new DefaultCategoryDataset();//添加数据lineDataset.addValue(9, "", "语文");lineDataset.addValue(7, "", "数学");lineDataset.addValue(6, "", "英语");lineDataset.addValue(4, "", "物理");lineDataset.addValue(3, "", "化学");lineDataset.addValue(2, "", "生物");//柱状图数据DefaultCategoryDataset dataset = new DefaultCategoryDataset();//添加数据dataset.addValue(4, "", "语文");dataset.addValue(7, "", "数学");dataset.addValue(6, "", "英语");dataset.addValue(5, "", "物理");dataset.addValue(3, "", "化学");dataset.addValue(9, "", "生物");//生成的柱状图JFreeChart chart = ChartFactory.createBarChart3D("科目成绩","科目",//X轴的标签 "分数",//Y轴的标签 dataset, //图标显示的数据集合PlotOrientation.VERTICAL, //图像的显示形式(水平或者垂直)false,//是否显示子标题 false,//是否生成提示的标签 false); //是否生成URL链接/** 处理图形上的乱码*///处理主标题的乱码chart.getTitle().setFont(new Font("黑体",Font.BOLD,18));//获取图表区域对象CategoryPlot categoryPlot = (CategoryPlot)chart.getPlot();//获取X轴的对象CategoryAxis3D categoryAxis3D = (CategoryAxis3D)categoryPlot.getDomainAxis();//获取Y轴的对象NumberAxis3D numberAxis3D = (NumberAxis3D)categoryPlot.getRangeAxis();//处理X轴上的乱码categoryAxis3D.setTickLabelFont(new Font("黑体",Font.BOLD,10));//处理X轴外的乱码categoryAxis3D.setLabelFont(new Font("黑体",Font.BOLD,10));//处理Y轴上的乱码numberAxis3D.setTickLabelFont(new Font("黑体",Font.BOLD,10));//处理Y轴外的乱码numberAxis3D.setLabelFont(new Font("黑体",Font.BOLD,10));//自定义Y轴上显示的刻度,以10作为1格numberAxis3D.setAutoTickUnitSelection(false);NumberTickUnit unit = new NumberTickUnit(1); numberAxis3D.setTickUnit(unit);//获取绘图区域对象BarRenderer3D barRenderer3D = (BarRenderer3D)categoryPlot.getRenderer();//设置柱形图的宽度barRenderer3D.setMaximumBarWidth(0.07);//在图形上显示数字barRenderer3D.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());barRenderer3D.setBaseItemLabelsVisible(true);barRenderer3D.setBaseItemLabelFont(new Font("宋体",Font.BOLD,10));/** 放折线图数据*/categoryPlot.setDataset(1, lineDataset);//设置折线LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();lineandshaperenderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());categoryPlot.setRenderer(1, lineandshaperenderer);// 柱状图和纵轴紧靠categoryAxis3D.setLowerMargin(0.0); categoryAxis3D.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);//折线在柱面前面显示categoryPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);/** 在E盘目录下生成图片*/File file = new File("e:\\a.png");try {ChartUtilities.saveChartAsJPEG(file, chart, 800, 600);} catch (IOException e) {e.printStackTrace();}}}

java画折线图和柱状图结合的综合图(用jfreechart)相关推荐

  1. python画柱状图和折线图-Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  2. python导入数据画折线图_Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  3. 使用python的matplotlib(pyplot)画折线图和柱状图

    使用python的matplotlib(pyplot)画折线图和柱状图 今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的 ...

  4. 用python读取excel数据、并作图_Python读取Excel表格,并同时画折线图和柱状图的方法...

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后 ...

  5. matplotlib在一张图同时画折线图和柱状图

    实现了在一张图片里用matplotlib的pyplot同时绘制折线图和柱状图. # -*- coding:utf-8 -*- import matplotlib import matplotlib.p ...

  6. 【python画图】使用python画折线图、柱状图

    目录 一.读取数据 (1)文件中读取数据 (2)代码中直接读取 二.画图 折线图 要想指定横纵轴的刻度范围或指定相应取值:(或者X轴不规则增长) 柱状图 其实现在有很多在线网站就可以直接导入数据画图, ...

  7. python画三维折线图_使用Python的matplotlib画折线图,柱状图,三维图

    因为在各种场景下需要各种实验数据的对比图像,有的中还要求dpi,这些在Python中的matplotlib中都可以实现,下面是总结的各种画图命令. 打包文件:https://download.csdn ...

  8. java 折线动图_Java画折线图

    JFreeChart 是开放源代码站点SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图.柱状图 ( 普通柱状图以及堆栈柱状图 ).线图.区域图.分 ...

  9. python画柱状图 画折线图

    # 画柱状图     plt.bar(x_labels, grid) 画折线图     """     for i in range(len(grid)-1):     ...

最新文章

  1. Redis scan命令原理
  2. leetcode217. 存在重复元素(vip题)超简单
  3. 牛客 13822 Keep In Line(枚举与暴力、Python)
  4. python 按照当前日期创建文件
  5. 朴素Bayse新闻分类实践
  6. 大数据杀熟行为10月1日起明令禁止;阿里一号工程“犀牛制造”正式亮相;iOS 14 正式版发布 | 极客头条...
  7. 【IDEA】Command line is too long. Shorten command ... or also for Application default configuration
  8. HTML5实现在线拍照功能(调取摄像头API)
  9. 无法设置光驱位硬盘启动,制作双硬盘双系统启动菜单
  10. 利用Chrome Edge浏览器调试AndroidWebView
  11. C语言编程>第十周 ⑦ 请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行……
  12. Fully Convolutional Networks for Semantic Segmentation
  13. 各种效应:蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应、羊群效应、刺猬法则、手表定律、破窗理论、二八定律、木桶理论、马太效应
  14. 灰度图学习_为什么灰度图是灰色的??
  15. torch从零开始搭建deeplabv3+训练自己的数据集!
  16. bootstrapinput传参数_***文件上传控件bootstrap-fileinput的使用和参数配置说明
  17. PAT | T1016 Uniqueness of MST
  18. 95%置信区间的含义_总体均数的95%置信区间的含义是
  19. 数据采集工作如何做?
  20. c语言笔试题 ppt,计算机二级考试真题-PPT-陶老师-C语言入门

热门文章

  1. stm32高精度计算器
  2. win7开机启动项怎么设置_win7系统怎么增加系统启动项
  3. 互联网开发-电子签名实现原理
  4. 哪些 Python 库让你相见恨晚?
  5. 被房子掏空的中国人开始消费降级了
  6. php absint,WordPress功能函数 absint()将值转换为非负整数(取绝对值)
  7. android沉浸式状态栏实现
  8. 数组reduce方法详解
  9. C#工作总结(四):循环引用的思考
  10. Java 递归取Children