JFreeChart使用
最近项目需要做图形分析,就想到了使用JFreeChart,之前也没有使用过,就现学先用吧。本文主要记录一些主要的代码及学习使用过程。
使用JFreeChart步骤:
一、下载JFreeChart.jar包(两种方式),jar包:jfreechart-*.*.*.jar和jcommon-*.*.*.jar
1 //1、maven获取 2 3 <dependency> 4 <groupId>org.jfree</groupId> 5 <artifactId>jfreechart</artifactId> 6 <version>1.0.19</version> 7 </dependency>
1 //2、官网下载最新的jar 2 http://sourceforge.net/projects/jfreechart/files/
二、获取数据集(模拟数据)
1 private static DefaultCategoryDataset getDefaultDataset(){ 2 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 3 for(int i=1;i<=12;i++){ 4 dataset.addValue(RandomUtils.nextInt(100, 499), "活跃人数", i+""); 5 } 6 return dataset; 7 }
三、生成图标对象JFreeChart
1 //创建折线图jfreechart对象,可以查看下ChartFactory下的方法,创建其他类型的图形 2 JFreeChart chart = ChartFactory.createLineChart("2015年度活跃人数", "月份", "人数", dataset,PlotOrientation.VERTICAL,true,false,false);
ChartFactory的静态创建各类图形:
四、配置JFreeChart图形参数(主要是图形样式、字体样式等)
1 CategoryPlot cp = chart.getCategoryPlot(); 2 cp.setBackgroundPaint(ChartColor.WHITE); // 背景色设置 3 cp.setRangeGridlinePaint(ChartColor.GRAY); // 网格横线线色设置 4 cp.setDomainGridlinePaint(ChartColor.GRAY);//网格竖线 5 LineAndShapeRenderer renderer = (LineAndShapeRenderer) cp.getRenderer(); 6 renderer.setBaseItemLabelsVisible(true); 7 renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); 8 renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 9 renderer.setBaseItemLabelFont(new Font("宋体", 5, 12));
如果只是以上这些操作的话,会出现中文乱码,还需要加上:
1 private static void processChart(JFreeChart chart) { 2 CategoryPlot plot = chart.getCategoryPlot(); 3 CategoryAxis domainAxis = plot.getDomainAxis(); 4 ValueAxis rAxis = plot.getRangeAxis(); 5 chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING, 6 RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); 7 TextTitle textTitle = chart.getTitle(); 8 textTitle.setFont(new Font("宋体", Font.PLAIN, 20)); 9 domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11)); 10 domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); 11 rAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12)); 12 rAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); 13 chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); 14 }
详细的图表样式,参考:http://blog.sina.com.cn/s/blog_6af9cfe80100ygf6.html
输出的结果:
转载于:https://www.cnblogs.com/quanenmin/p/4942153.html
JFreeChart使用相关推荐
- 报表应用系列——图表JFreeChart: 第 4 章 折线图
双击代码全选 1 2 3 4 5 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(100 ...
- Java项目:学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)
源码获取:博客首页 "资源" 里下载! 这个项目适合SSM框架的初学者(涉及大量增删改查,很适合初学者)以及对Shiro安全框架和Poi技术感兴趣的同学. 项目功能: 用户管理功能 ...
- jfreechart的使用
jfreechart 简介(百度百科): JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets ...
- Open Flash Chart组件的使用 及 与 jfreechart, FusionCharts 的比较
http://crabdave.javaeye.com/blog/189653 Open Flash Chart组件的使用 简介 OpenFlashChart是一个开源的报表制作组件,该组件能够自动生 ...
- java 柱状图下载_(JFreeChart)Java图表制作
(JFreeChart)Java图表制作软件时一个灵活的设计,很容易扩展,和目标服务器端和客户端应用程序;,支持多种图表类型. 输出类型也是多样化.包括Swing组件.图像文件(包括PNG和JPEG) ...
- 使用自定义色系美化JfreeChart图表
JFreeChart所使用的色系生成的图表很难看,笔者深有体会.在使用到JfreeChart的一些项目中经常会有客户提出"能不能由我们自己去设置图表中每个分类的颜色"等等诸如此类的 ...
- JFreeChart使用说明一--api介绍
jfreeChart 中文手册 jfreechartUI JFreeChart类: void setAntiAlias(boolean flag) 字体模糊边界 void setBackgrou ...
- 利用JFreeChart绘制股票K线图
因为工作的需要,接触了一些股票图形绘制类的工作,其中最主要的还是股票K线图的绘制了,如果利用编程语言最底层的图形绘制方法去绘制这类图形,如果对编程语言不是特别熟悉的话,一般是有很大的困难的,通过在网上 ...
- struts2 spring jfreechart 整合
jfreechart和servlet结合使用很简单,只要把图片生成了就能通过servlet显示到画面上去,jfreechart和struts2的结合使用其实看上去也很简单,网上大部分方法都是用< ...
- JFreeChart入门
JFreeChart主要用来各种各样的图表,这些图表包括:饼图.柱状图(普通柱状图以及堆栈柱状图).线图.区域图.分布图.混合图.甘特图以及一些仪表盘等等 (源代码下载) 示例程序运用的jar包: j ...
最新文章
- vue+ivew-admin开发项目,内存占用过大解决办法
- 云计算带来企业管理的革命
- Kubernetes对象中的PersistentVolume、PersistentVolumeClaim和StorageClass的概念关系
- Web 设计中的苹果风
- [转] OpenStack Kilo 更新日志
- 数据挖掘竞赛-员工离职预测训练赛
- Java Date Nuances的痛苦提醒
- [react] render函数中return如果没有使用()会有什么问题?
- hadoop分布式集群搭建,包含网络配置-hadoop3环境
- STM32学习——MPU6050姿态传感器
- 去年写的测试GDAL用法的一些函数
- Linux静态库、动态库的制作
- javascript闭包小结
- android 远程控制工具,安卓版远程协助软件
- Android防止连点非常简单的操作
- dell latitude3400 笔记本QQ语音别人听不到声音
- 计算机网络基础简答题
- 射频工程师——中兴笔试题
- 8分频verilog线_时钟分频系列——分数分频电路的Verilog实现
- 自学考试计算机实践课,河南大学自学考试计算机实践课考试须知
热门文章
- P1031 均分纸牌(经典贪心)
- python 内存溢出能捕获吗_从0基础学习Python (19)[面向对象开发过程中的异常(捕获异常~相关)]...
- python程序运行时间计时软件_python中的计时器timeit的使用方法
- 【揭秘】12306是如何抗住几亿日活、百万级高并发的?
- 【科普】数据中心“容灾”和“备份”的区别
- Google 宣布将 Istio 商标转移给 Open Usage Commons | 云原生生态周报 Vol. 57
- 怎样增加混凝土粘聚性_如何改善中低强度等级混凝土粘聚性? 这篇文章一定要看...
- springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener
- php数组循环0到32,通过数组php循环
- arcengine遍历属性表_记录一次Hive表清理过程