利用JFreeChart生成简单柱状图(Java)
1 package barchartdemo1; 2 3 import <a href="http://lib.csdn.net/base/javaee" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.awt.Font; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import org.jfree.chart.ChartFactory; 7 import org.jfree.chart.ChartUtilities; 8 import org.jfree.chart.JFreeChart; 9 import org.jfree.chart.axis.CategoryAxis; 10 import org.jfree.chart.axis.NumberAxis; 11 import org.jfree.chart.plot.CategoryPlot; 12 import org.jfree.chart.plot.PlotOrientation; 13 import org.jfree.data.category.CategoryDataset; 14 import org.jfree.data.category.DefaultCategoryDataset; 15 16 /** 17 * 18 * @author Administrator 19 */ 20 public class Main { 21 22 /** 23 * @param args the command line arguments 24 */ 25 public static void main(String[] args) throws IOException { 26 CategoryDataset ds = getDataSet(); 27 JFreeChart chart = ChartFactory.createBarChart3D( 28 "水果产量图", //图表标题 29 "水果", //目录轴的显示标签 30 "产量", //数值轴的显示标签 31 ds, //数据集 32 PlotOrientation.VERTICAL, //图表方向 33 true, //是否显示图例,对于简单的柱状图必须为false 34 false, //是否生成提示工具 35 false); //是否生成url链接 36 37 CategoryPlot categoryplot = (CategoryPlot) chart.getPlot(); 38 39 NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); 40 41 CategoryAxis domainAxis = categoryplot.getDomainAxis(); 42 43 /*------设置X轴坐标上的文字-----------*/ 44 domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11)); 45 46 /*------设置X轴的标题文字------------*/ 47 domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); 48 49 /*------设置Y轴坐标上的文字-----------*/ 50 numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12)); 51 52 /*------设置Y轴的标题文字------------*/ 53 numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12)); 54 55 /*------这句代码解决了底部汉字乱码的问题-----------*/ 56 chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); 57 58 /*******这句代码解决了标题汉字乱码的问题********/ 59 chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 12)); 60 61 FileOutputStream out = null; 62 try { 63 out = new FileOutputStream("E://Items//BarChartDemo1//image//1.jpg"); 64 ChartUtilities.writeChartAsJPEG(out, 0.5f, chart, 400, 300, null); 65 } finally { 66 try { 67 out.close(); 68 } catch (Exception ex) { 69 ex.printStackTrace(); 70 } 71 } 72 } 73 74 private static CategoryDataset getDataSet() { 75 DefaultCategoryDataset ds = new DefaultCategoryDataset(); 76 ds.addValue(100, "北京", "苹果"); 77 ds.addValue(100, "上海", "苹果"); 78 ds.addValue(100, "广州", "苹果"); 79 ds.addValue(200, "北京", "梨子"); 80 ds.addValue(200, "上海", "梨子"); 81 ds.addValue(200, "广州", "梨子"); 82 ds.addValue(300, "北京", "葡萄"); 83 ds.addValue(300, "上海", "葡萄"); 84 ds.addValue(300, "广州", "葡萄"); 85 ds.addValue(400, "北京", "橘子"); 86 ds.addValue(400, "上海", "橘子"); 87 ds.addValue(400, "广州", "橘子"); 88 ds.addValue(500, "北京", "香蕉"); 89 ds.addValue(500, "上海", "香蕉"); 90 ds.addValue(500, "广州", "香蕉"); 91 return ds; 92 } 93 }
1 package barchartdemo1; 2 3 import <a href="http://lib.csdn.net/base/javaee" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.awt.Font; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import org.jfree.chart.ChartFactory; 7 import org.jfree.chart.ChartUtilities; 8 import org.jfree.chart.JFreeChart; 9 import org.jfree.chart.axis.CategoryAxis; 10 import org.jfree.chart.axis.NumberAxis; 11 import org.jfree.chart.plot.CategoryPlot; 12 import org.jfree.chart.plot.PlotOrientation; 13 import org.jfree.data.category.CategoryDataset; 14 import org.jfree.data.category.DefaultCategoryDataset; 15 16 /** 17 * 18 * @author Administrator 19 */ 20 public class Main { 21 22 /** 23 * @param args the command line arguments 24 */ 25 public static void main(String[] args) throws IOException { 26 CategoryDataset ds = getDataSet(); 27 JFreeChart chart = ChartFactory.createBarChart3D( 28 "水果产量图", //图表标题 29 "水果", //目录轴的显示标签 30 "产量", //数值轴的显示标签 31 ds, //数据集 32 PlotOrientation.VERTICAL, //图表方向 33 true, //是否显示图例,对于简单的柱状图必须为false 34 false, //是否生成提示工具 35 false); //是否生成url链接 36 37 CategoryPlot categoryplot = (CategoryPlot) chart.getPlot(); 38 39 NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); 40 41 CategoryAxis domainAxis = categoryplot.getDomainAxis(); 42 43 /*------设置X轴坐标上的文字-----------*/ 44 domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11)); 45 46 /*------设置X轴的标题文字------------*/ 47 domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); 48 49 /*------设置Y轴坐标上的文字-----------*/ 50 numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12)); 51 52 /*------设置Y轴的标题文字------------*/ 53 numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12)); 54 55 /*------这句代码解决了底部汉字乱码的问题-----------*/ 56 chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); 57 58 /*******这句代码解决了标题汉字乱码的问题********/ 59 chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 12)); 60 61 FileOutputStream out = null; 62 try { 63 out = new FileOutputStream("E://Items//BarChartDemo1//image//1.jpg"); 64 ChartUtilities.writeChartAsJPEG(out, 0.5f, chart, 400, 300, null); 65 } finally { 66 try { 67 out.close(); 68 } catch (Exception ex) { 69 ex.printStackTrace(); 70 } 71 } 72 } 73 74 private static CategoryDataset getDataSet() { 75 DefaultCategoryDataset ds = new DefaultCategoryDataset(); 76 ds.addValue(100, "北京", "苹果"); 77 ds.addValue(100, "上海", "苹果"); 78 ds.addValue(100, "广州", "苹果"); 79 ds.addValue(200, "北京", "梨子"); 80 ds.addValue(200, "上海", "梨子"); 81 ds.addValue(200, "广州", "梨子"); 82 ds.addValue(300, "北京", "葡萄"); 83 ds.addValue(300, "上海", "葡萄"); 84 ds.addValue(300, "广州", "葡萄"); 85 ds.addValue(400, "北京", "橘子"); 86 ds.addValue(400, "上海", "橘子"); 87 ds.addValue(400, "广州", "橘子"); 88 ds.addValue(500, "北京", "香蕉"); 89 ds.addValue(500, "上海", "香蕉"); 90 ds.addValue(500, "广州", "香蕉"); 91 return ds; 92 } 93 }
图片效果:
利用JFreeChart生成简单柱状图(Java)相关推荐
- java cutline_利用JFreeChart生成饼形图
14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如果想生成普通效果的饼形图,需要通过工厂类ChartFactory的 ...
- java 利用dfs生成简单的随机迷宫(效率不高)
利用深搜可以生成简单的迷宫,思路就是从起点执行dfs.当然你要首先用一个容器将四个方向的随机数装起来保证一定可以走.一个点一旦被走过就不会再走那个店,利用递归思想,因为这个点如果不成功在之前回溯的时候 ...
- JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)
FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...
- Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)
工具类 CreatLineChart.java package DrawLine;import java.awt.BasicStroke; import java.awt.Color; import ...
- java导出pdf报告之六:使用jfreechart生成饼状图和柱状图
关于使用jfreechart生成饼状图和柱状图网上也有一大推,我在这里也不做太多介绍,就直接附上我的实现,并添加了一下注释,供大家参考. 生成饼状图: /*** @param name 图片的名称* ...
- Java使用jfreechart生成pdf图表
本项目主要技术是jfreechart和itextpdf,纯Java生成pdf图表,我给大家分享一下完成过程中遇到的各种坑.本项目适合于需要生成pdf图表又没有html模板的需求. 我尝试过freema ...
- JFreeChart 生成5种图表(饼图、柱状图、堆叠柱状图、折线图、散点图)
1 Maven依赖 <!-- Hutool工具包 --> <dependency><groupId>cn.hutool</groupId><art ...
- 柱状图添加数字标签_Python之利用Plotnine作图(一)——简单柱状图
NO.252 2020.01.05 工欲善其事,必先利其器 // - 前言 - ◆ ◆ ◆ ◆ 今天,小咖带大家利用Python的plotnine制作简单柱状图. R语言有一个强大的绘图工具ggplo ...
- Java使用poi和jfreechart生成excel图表图片
最近项目在频繁的操作excel,里边涉及到很多和图表有关的东西.有时候需要使用java操作excel自带的图标,比较复杂的我们都是使用excel模板的形式实现. 除此之外,也有一些功能只需要生成对应 ...
最新文章
- mongodb基本操作=增删改查
- java数据结构 队列_Java数据结构与算法[原创]——队列
- 位运算和典型应用详解
- 直播报名 | 教你从 0 到 1 打造数字化运营闭环
- mysql idle_MySQL常用指令
- Java基础day22
- 自定义ArrayList
- lamba统计最大值,最小值,平均值,总和,个数
- springboot 多个sevice类实现同一接口的调用
- vue中通过js控制页面样式方法
- 六种方式实现生产者消费者(未完)
- 鼠标和按键在android 上的识别和区别
- 10慕课网《进击Node.js基础(一)》初识promise
- Android IOS WebRTC 音视频开发总结(二二)-- 多人视频架构模式
- 网站漏洞修复之CSRF跨站攻击
- U890采购入库单修改供应商
- 一步一步从原理跟我学邮件收取及发送 7.读取一行命令的实现
- 阿里云MQ报错:The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=403
- 计算机系统英语参考文献短,计算机操作系统专著参考文献 计算机操作系统英语参考文献哪里找...
- C# HMACSHA1 加密