实例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">

最新文章

  1. Netty
  2. 51nod 1117 聪明的木匠 (哈夫曼树)
  3. NodeJS的小应用
  4. maven运行javaWeb项目
  5. 登录界面 beta版
  6. 转载-SQL中的where条件,在数据库中提取与应用浅析
  7. 如何在VS C++中高亮用户自定义关键字
  8. ECSHOP在线手册布局参考图--通用活动页 group_list.dwt等
  9. 标准C++中的string类的用法总结(转)
  10. 配置Memcache服务器并实现主从复制功能(repcached)(转)
  11. 201521123067 《Java程序设计》第2周学习总结
  12. 微信小程序使用场景延伸:扫码登录、扫码支付
  13. Lucene.net(4.8.0) 学习问题记录四: IndexWriter 索引的优化以及思考
  14. Gradle 1.12用户指南翻译——第二十一章. Gradle 插件
  15. Swagger UI 用法
  16. vlc-android 的编译过程
  17. 转:JAVA守护线程
  18. Uni2D 入门 -- Atlas转载 http://blog.csdn.net/kakashi8841/article/details/17588095
  19. IOS 设备备份文件详解 (二)
  20. mysql python pymysql模块 增删改查 插入数据 介绍 commit() execute() executemany() 函数

热门文章

  1. #C++初学记录(高精度运算)(加法)
  2. 142. Linked List Cycle II(找出链表相交的节点)
  3. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON MoveRectangle
  4. cmd中执行jar文件命令(待参数)
  5. 各版本的区别及含义(i386 、x86_64 、ppc )
  6. Linux服务器使用tar加密压缩文件
  7. 《Effective Java 2nd》第8章 通用程序设计
  8. BZOJ 2763 飞行路线(分层图最短路)题解
  9. [kata](5kyu) 约瑟夫战死排序(排列)
  10. python输出日期时间