jfreechart火速应用

JAVA中的图表方面,Jfreechart是十分不错的老大了,网上有个具体的英文手册类库下载可以参考的,下面以一个
投票的例子来个火速应用,简单介绍一下

首先,可以将投票结果以servlet的形式输出给页面。第一步要接受参数(如要显示的图形类型,是柱状图,饼形图还是其他什么样的图),
然后传入数据集,然后设置输出的类型,最后输出图形

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

ublic class ChartServlet extends HttpServlet
{

public void doPost( HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException
 {
  
//这里先得到一个vote的对象实例
   Vote vote=getvote();

// 得到JFreeChart对象的实例
  JFreeChart chart = getChart( vote );

// 设置输出对象的类型
  response.setContentType( "image/jpeg" );

// 输出图形
  ChartUtilities.writeChartAsJPEG( response.getOutputStream(),
   100, chart, 400, 300, null);
 }
 
 
 public void doGet( HttpServletRequest request, HttpServletResponse response )
   throws ServletException, IOException
 {
  doPost( request, response );
 }

// 得到JFreeChart对象的实例
 public static JFreeChart getChart( Vote vote )
 {
  JFreeChart chart = null;

// 判断是否为饼图
  if( .... )
  {
   // 组织生成饼图的数据
   DefaultPieDataset data = new DefaultPieDataset();
   
   Iterator it = vote.getVoteitems().iterator();

//遍历数据集
   while( it.hasNext() )
   {
    VoteItem vi = (VoteItem)it.next();
//设置要显示图形每一项的标题,具体数字(这里是投票数vi.getvotenum了)
    data.setValue( vi.getTitle(), vi.getVotenum() );
   }
   
   // 判断是否为普通饼图
   if( ..... )
   {
    chart = ChartFactory.createPieChart( vote.getTitle(),
      data, false, false, false );
   }
   else // 3D饼图
   {
    chart = ChartFactory.createPieChart3D( vote.getTitle(),
      data, false, false, false );
   }
  }
  else
  {
   // 组织柱状图的数据
   DefaultCategoryDataset data = new DefaultCategoryDataset();
   
   Iterator it = vote.getVoteitems().iterator();
   while( it.hasNext() )
   {
    VoteItem vi = (VoteItem)it.next();
    data.addValue( vi.getVotenum(), "选项", vi.getTitle() );
   }

// 判断是否为普通柱状图
   if( .... )
   {
    chart = ChartFactory.createBarChart( vote.getTitle(),
     "选项", "数量", data, PlotOrientation.VERTICAL,
     false, false, false );
   }
   else // 3D柱状图
   {
    chart = ChartFactory.createBarChart3D( vote.getTitle(),
      "选项", "数量", data, PlotOrientation.VERTICAL,
      false, false, false );
   }
  }
  return chart;
 }
}

posted on 2006-08-08 21:02 jackyrong的世界 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/jackyrong/archive/2006/08/08/471534.html

jfreechart火速应用相关推荐

  1. 报表应用系列——图表JFreeChart: 第 4 章 折线图

    双击代码全选 1 2 3 4 5 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(100 ...

  2. Java项目:学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 这个项目适合SSM框架的初学者(涉及大量增删改查,很适合初学者)以及对Shiro安全框架和Poi技术感兴趣的同学. 项目功能: 用户管理功能 ...

  3. jfreechart的使用

    jfreechart 简介(百度百科): JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets ...

  4. Open Flash Chart组件的使用 及 与 jfreechart, FusionCharts 的比较

    http://crabdave.javaeye.com/blog/189653 Open Flash Chart组件的使用 简介 OpenFlashChart是一个开源的报表制作组件,该组件能够自动生 ...

  5. java 柱状图下载_(JFreeChart)Java图表制作

    (JFreeChart)Java图表制作软件时一个灵活的设计,很容易扩展,和目标服务器端和客户端应用程序;,支持多种图表类型. 输出类型也是多样化.包括Swing组件.图像文件(包括PNG和JPEG) ...

  6. 使用自定义色系美化JfreeChart图表

    JFreeChart所使用的色系生成的图表很难看,笔者深有体会.在使用到JfreeChart的一些项目中经常会有客户提出"能不能由我们自己去设置图表中每个分类的颜色"等等诸如此类的 ...

  7. 英特尔新CEO的「第一把火」:火速返聘退休3年的“酷睿i7之父”

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 英特尔的"巨头自救",争分夺秒. 据外媒报道,尽管离正式履职还有20多天,回归英特尔CEO大位的帕特·基辛格,刻不容缓 ...

  8. JFreeChart使用说明一--api介绍

    jfreeChart 中文手册 jfreechartUI JFreeChart类: void setAntiAlias(boolean flag)    字体模糊边界 void setBackgrou ...

  9. 利用JFreeChart绘制股票K线图

    因为工作的需要,接触了一些股票图形绘制类的工作,其中最主要的还是股票K线图的绘制了,如果利用编程语言最底层的图形绘制方法去绘制这类图形,如果对编程语言不是特别熟悉的话,一般是有很大的困难的,通过在网上 ...

  10. struts2 spring jfreechart 整合

    jfreechart和servlet结合使用很简单,只要把图片生成了就能通过servlet显示到画面上去,jfreechart和struts2的结合使用其实看上去也很简单,网上大部分方法都是用< ...

最新文章

  1. SIGIR阿里论文 | 可视化理解深度神经网络CTR预估模型
  2. php.ini网站空白,php配置问题:拷贝php.ini后,测试页面无法显示(显示空白)
  3. 遍历Arraylist的方法:
  4. 腾讯DCI上线基于集中控制的SR-TE方案
  5. RAC的搭建(一)--安装环境准备
  6. linux编译mmc驱动,Embeded linux之MMC驱动
  7. 前端学习(238):IE低版本常见bug
  8. python全栈学习总结三:函数学习
  9. 电磁感应理论之父,法拉第传奇
  10. java模拟浏览器http请求_java使用HttpClient模拟浏览器请求
  11. java bit mask_位掩码(Bit Mask)的应用
  12. Java Tomcat SSL 服务端/客户端双向认证
  13. 日志分析工具Awstats实战之Nginx篇-分析结果静态化
  14. 程序员的数学【最优化】
  15. #6.3四维理论的数学模式
  16. 图像算法---白平衡AWB(讲的很好)
  17. 学习AngularJS摘抄的笔记,方便以后查看(摘自菜鸟教程)
  18. jQuery拆分字符串 split()并且遍历$.each()
  19. μC/OS-III_系统特点
  20. 关于STM32与GSM模块之间简单应用

热门文章

  1. gitlab服务器性能,gitlab服务器搭建
  2. php ckeditor 使用教程,织梦实现使用默认编辑器ckeditor上传视频功能( 详细)
  3. appnode报错_appnode
  4. qlabel显示图片同时鼠标点击画线_怎样将CAJ文档转成JPG图片?
  5. 自定义协议_面试官:Netty如何实现自定义协议?尽量详细点
  6. 二阶振荡环节的谐振频率_什么是谐振器?谐振器与振荡器有什么区别?
  7. mysql 有关的文件
  8. Python3优雅操作-时间处理与定时任务
  9. 列表的增删改查和嵌套, 元组, range
  10. 网站发布(项目上线流程)