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 ...
随机推荐
- Django组件拾忆
知识预览 一 Django的form组件 二 Django的model form组件 三 Django的缓存机制 四 Django的信号 五 Django的序列化 回到顶部 一 Django的form ...
- Hadoop mapreduce自定义排序WritableComparable
本文发表于本人博客. 今天继续写练习题,上次对分区稍微理解了一下,那根据那个步骤分区.排序.分组.规约来的话,今天应该是要写个排序有关的例子了,那好现在就开始! 说到排序我们可以查看下hadoop源码 ...
- BCG控件初步领略
BCGPVisualStudioGUIDemo 这个界面很不错呀,如果能够实现这种效果,能够解决系列问题 画图程序,这种界面非常先进.用于石材大板等非常优秀. email的效果 这种东西如果效果不错, ...
- IntelliJ IDEA 常用快捷键,maven依赖图,个性化设置,禁用Search Everywhere
查看idea 中jar关系图 快捷键: Ctrl+/ 用于注释,取消注释 Ctrl+Shift+F 全文搜索 Ctrl+F 单页面查找 Ctrl+Alt+Shift+L 格式化代码 ======== ...
- luogu p3366 最小生成树模板
倒腾了一个小时 自己也没去看网上的 总算自己能写出来模板了 kruskal //最小生成树 每次找最短的边 #include<bits/stdc++.h> using namespace ...
- shell 计时获取输入
#!/bin/bash if read -t 5 -p "please enter your name:" name then echo "hello ...
- 使用 Redis
Redis(https://redis.io/),既不像 SQLite 以表的形式存储数据,也不像 MongoDB 允许以嵌套结构存储和查询,它是一种内存数据库结构,即将数据缓存在内存中.它将键—值( ...
- thinkphp3.2笔记(5)创建项目 创建模型 实例化
一 创建项目 1 拷贝框架 目录 public thinkphp .htaccess index.php [application不用拷贝,会自动生成] 2 public 下面创 ...
- Java Spring-事务管理
2017-11-12 16:31:59 Spring的事务管理分为两种: 编程式的事务管理:手动编写代码 声明式的事务管理:只需要配置就可以 一.最初的环境搭建 public interface Ac ...
- python学习笔记(HTMLTestRunner在Py3的兼容)
博主最近开始重构自动化框架并且向Py3上兼容 第一个问题就是生成测试报告的HTMLTestRunner,由于此模块是基于Py2开发的,这里需要修改源码 # 94行 # import StringIO ...