JFreeChart的简单使用
实例1:简单的饼图
public class Test {
public static void main(String[] args) {
//建立默认的饼图
DefaultPieDataset ds=new DefaultPieDataset();
ds.setValue("苹果",6000);
ds.setValue("三星", 9000);
ds.setValue("诺基亚",3200);
ds.setValue("其他", 9000); //参数:1->标题 2-> 数据集 3->是否显示legend(在图的下方显示颜色块标注) 4->是否显示提示 5->图中是否存在url
JFreeChart chart=ChartFactory.createPieChart("全球手机厂商出货量", ds, true, true, false);
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 30));
chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 20));
//PiePlot是图中饼图的上一级区域
PiePlot plot=(PiePlot) chart.getPlot();
plot.setLabelFont(new Font("宋体", Font.PLAIN, 20));
//下面的标题是Frame的标题
ChartFrame chartFrame=new ChartFrame("全球手机厂商出货量", chart);
chartFrame.pack();
chartFrame.setVisible(true);
}
}
效果图:
实例2:柱状图
public class Test2 {
public static void main(String[] args) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.setValue(6000, "苹果","苹果");
dataset.setValue(9000, "三星", "三星");
dataset.setValue(3200, "诺基亚", "诺基亚");
dataset.setValue(9000, "其他", "其他"); JFreeChart chart=ChartFactory.createBarChart("全球手机厂商出货量", "手机厂商", "出货量(单位:万台)",dataset,PlotOrientation.VERTICAL,true,true,false);
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 30));
chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 20));
//CategoryPlot是图中饼图的上一级区域
CategoryPlot plot=chart.getCategoryPlot();
//设置纵坐标-->前者是外围标识(出货量) 后者是坐标标识(手机厂商)
plot.getRangeAxis().setLabelFont(new Font("宋体", Font.BOLD, 20));
plot.getRangeAxis().setTickLabelFont(new Font("宋体", Font.BOLD, 20));
//设置横坐标
plot.getDomainAxis().setLabelFont(new Font("宋体", Font.BOLD, 20));
plot.getDomainAxis().setTickLabelFont(new Font("宋体", Font.BOLD, 20)); ChartFrame chartFrame=new ChartFrame("全球手机厂商出货量", chart);
chartFrame.pack();
chartFrame.setVisible(true);
}
}
效果图
实例3:和Struts2的整合
1.导入strut2和JFreeChart的整合插件jar包
2.Action中为:public JFreeChart getChart(){}
3.Struts.xml文件中增加配置:
<action name="ChartOutputAction" class="chartOutputAction">
<result name="success" type="chart">
<param name="height">400</param>
<param name="width">600</param>
</result>
</action>
4.继承包
<package name="default" namespace="/" extends="struts-default,jfreechart-default">
JFreeChart的简单使用的更多相关文章
- JFreeChart的简单应用及乱码解决
一.JFreeChart介绍: JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP ...
- 利用JFreeChart生成简单柱状图(Java)
package barchartdemo1; import <a href="http://lib.csdn.net/base/javaee" class='replace_ ...
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西! 这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下 ...
- JFreeChart简单用法
需要用到的包 jfreechart-0.9.20.jar,jcommon-0.9.5.jar 创建一般步骤: 1.生成org.jfree.data.DefaultCategoryDataset对象,方 ...
- 【Java EE 学习 74 下】【数据采集系统第六天】【使用Jfreechart的统计图实现】【将JFreechart整合到项目中】
之前说了JFreechart的基本使用方法,包括生成饼图.柱状统计图和折线统计图的方法.现在需要将其整合到数据采集系统中根据调查结果生成三种不同的统计图. 一.统计模型的分析和设计 实现统计图显示的流 ...
- 【Java EE 学习 74 上】【数据采集系统第六天】【使用Jfreechart的统计图实现】【Jfreechart的基本使用方法】
之前已经实现了数据的采集,现在已经有了基本的数据,下一步就需要使用这些数据实现统计图的绘制了.这里使用Jfreechart实现这些统计图的绘制.首先看一下Jfreechart的基本用法,只有知道了它的 ...
- jfreeChart柱状图各属性详细设置
一. 下载与环境配置 此最新版本为 1.0.13 解压jfreechart-1.0.13.zip 将lib目录下的jfreechart-1.0.13.jar .jcommon-1.0.16.jar 复 ...
- JFreeChart 使用一 饼图之高级特性
原文链接:http://www.cnblogs.com/jtmjx/archive/2013/04/23/jfreechart_advantage.html 本文主要讲解JFreeChart中饼图的一 ...
- JfreeChart的使用
前提:导入需要的2个jar文件,jcommon-版本号.jar,jfreechart-版本号.jar.可以去官网下载:http://sourceforge.net/projects/jfreechar ...
随机推荐
- java程序运行一段时间之后停止
原创文章,未经作者允许,禁止转载!!!!!!! 如何用java是一段代码运行一段时间之后自动停止运行? 就拿打印随机函数的代码来做例子吧,让程序随机打印1-10的数字,打印十秒钟后停止打印: publ ...
- Bootstrap按钮组学习
简介 通过按钮组容器把一组按钮放在同一行里.通过与按钮插件联合使用,可以设置为单选框或多选框的样式和行为. 按钮组中的工具提示和弹出框需要特别的设置 当为 .btn-group 中的元素应用工具提示或 ...
- 《高性能CUDA应用设计与开发》--笔记
第一章 1.2 CUDA支持C与C++两种编程语言,该书中的实例采取的是Thrust数据并行API,.cu作为CUDA源代码文件,其中编译器为ncvv. 1.3 CUDA提供多种API: 数据并行 ...
- Flask 使用富文本输入框
模板 <script src="{{ url_for('static', filename='ckeditor/ckeditor.js') }}"></scrip ...
- Python中的MySQL接口:PyMySQL & MySQLdb
MySQLdb模块只支持MySQL-3.23到5.5之间的版本,只支持Python-2.4到2.7之间的版本 PyMySQL支持 Python3.0以后的版本 PyMySQL https://pypi ...
- 离线安装Cloudera Manager5.2.0和CDH5 2.0
第一次安装出现了各种问题,尤其是对于不是太熟悉linux系统的更是头疼不已呀!特此记录一下,希望能够让小伙伴们少走点弯路. 1.给机器添加路由 (根据自己的机器情况,可以忽略) route add ...
- Vue学习笔记之Nodejs中的NPM使用
0x00 NPM是什么 简单的说,npm就是JavaScript的包管理工具.类似Java语法中的maven,gradle,python中的pip. 0x01 NPM安装 傻瓜式的安装. 第一步:打开 ...
- ZLYZD团队第四周项目总结
ZLYD团队第四周项目总结 项目进展 将Wall.java.Gold.java.Player.java.Fruit.java.Enemy.java.Ticker.java和Packman.java七个 ...
- 搭建docker hadoop环境
目录 搭建Docker-Hadoop基础环境 简介 步骤 搭建Docker image ..待续 注释 搭建Docker-Hadoop基础环境 简介 因为很难真正的有一个集群环境.在一般的条件下想要模 ...
- 模块的封装之C语言类的封装
[微知识]模块的封装(一):C语言类的封装 是的,你没有看错,我们要讨论的是C语言而不是C++语言中类的封装.在展开知识点之前,我首先要 重申两点: 1.面向对象是一种思想,基本与所用的语言是无关的. ...