JFreeChart
基本步骤:
(1)建立Dataset。将你所想要显示的数据都放到这个库中。
(2)建立JFreeChart对象。将你的dataset填入到这个对象中。
(3)设置各种JFreeChart的属性和效果。通过它提供的各种方法和接口设置相关的属性。
(4)生成图表,然后按照个人的需求进行执行
注意:最新的版本会有中文无法显示的bug,设置标签的属性后就可以解决问题
条形统计图的基本创建方法
//创建一个条形容统计图
public class JFreeBarChartTest {public static void main(String[] args){// 创建数据集对象DefaultCategoryDataset dataset = new DefaultCategoryDataset();dataset.addValue(20, "小明", "语文");dataset.addValue(60, "小丽", "语文");dataset.addValue(50, "小明", "数学");dataset.addValue(50, "小丽", "数学");// 创建JFreeChart对象JFreeChart barChart = ChartFactory.createBarChart3D("条形统计图",//标题"姓名", //x轴标签"分数" , //y轴标签dataset, //数据集PlotOrientation.VERTICAL,//设置Y轴的方向垂直true, //显示图例true, //不生成工具true //不生成连接);//设置字体属性CategoryPlot barPlot = barChart.getCategoryPlot();barChart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); //底部标签CategoryAxis domainAxis = barPlot.getDomainAxis(); //x轴标签设置domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11)); domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); ValueAxis rAxis = barPlot.getRangeAxis(); //y轴标签设置rAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12)); rAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); TextTitle textTitle = barChart.getTitle(); //标签设置textTitle.setFont(new Font("宋体", Font.PLAIN, 20)); //以swing的形式输出图表ChartFrame barChartFrameframe = new ChartFrame("barChartFrame",barChart);barChartFrameframe.pack();barChartFrameframe.setVisible(true);}}
运行结果:
饼图的基本创建方法
public class JfreePieChartTest {public static void main(String[] args) {// 创建数据集对象DefaultPieDataset dataset = new DefaultPieDataset();dataset.setValue("男生", 120);dataset.setValue("女生", 200);// 创建JFreeChart对象JFreeChart pieChart = ChartFactory.createPieChart("饼图", // 标题dataset, // 数据集true, true, true);// 设置字体属性PiePlot pieplot = (PiePlot) pieChart.getPlot(); // 通过JFreeChart对象获得plotTextTitle textTitle = pieChart.getTitle(); // 标题设置textTitle.setFont(new Font("宋体", Font.PLAIN, 20));pieChart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));//底部标签字体StandardPieSectionLabelGenerator sp = new StandardPieSectionLabelGenerator("{2}");//{1}表示显示数值, {2}表示显示百分比pieplot.setLabelGenerator(sp);// 设置百分比// 以swing的形式输出图表ChartFrame pieChartFrame = new ChartFrame("peiFrame", pieChart);pieChartFrame.setVisible(true);pieChartFrame.pack();}}
运行结果:
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 ...
最新文章
- 牛顿:伸向未知量的利爪
- nodejs实现继承的简单代码示例
- java rect平移_如何在Java Swing中使用鼠标平移图像
- VerifyError: Error #1107: ABC 数据已损坏,尝试的读取操作超出范围
- ASP.NET中文件上传下载方法集合
- SAP R/3系统的R和3分别代表什么含义,负载均衡的实现原理 1
- 蒙特卡罗方法求一个三维积分(论坛帮顶)
- 如何运用领域驱动设计 - 工作单元
- 机器学习笔记:PCA的简单理解以及应用建议
- vue大括号里接受一个函数_vue源码探究(第四弹)
- SSM项目使用Idea打war包
- 全互联+杜比影音ThinkPad X1 Carbon 2019全新上市
- R语言金融基础:tidyquant获取数据(股票每日行情)
- 传感器实训心得体会_传感器心得体会范文
- matlab 小波分析工具
- 通过更改cmake的源码实现使用代理的下载命令
- Qt多线程1:QThread
- ES6 学习内容记录
- 开源的C++静态分析工具
- 为什么越来越多的人放弃欧美市场,转做Starday日本市场?
热门文章
- (FPN)Feature Pyramid Networks for Object Detection
- SteamOS:Linux 游戏的现状
- 社交电商平台有哪些?社交电商赚钱吗
- 服务器端Session和客户端Session, 以及cookie的区别
- [python][mediapipe]摄像头人脸检测
- scale-up scale-out
- linux jad 反编译,使用Jad或JadClipse进行反编译
- IINA for MAC 正式版1.0.1 最好用的现代化播放器 软件下载及问题
- 安装完了Mindjet MindManager 9,打开提示如下的错误
- html播放flv直播源,如何使用flv.js直播(pc端)?