JFreeChart简单介绍及用法(入门)

(学习留存,如有侵权,请告知,立刻删除!)

1.jfreechart简单介绍以及jar包下载

首先了解JFreeChart是什么,它是JAVA平台上的一个开源报表系统(开放的图表绘制类库),通过它可以生成柱状图,饼状图,散点图,折线图等多种图形。 jfreechart的主页是http://www.jfree.org/jfreechart/index.html jfreechart的使用需要先下载jar包,并导入到相关项目中,jfreechart/lib下

jfreechart-1.0.19.jar jcommon-1.0.23.jar 2.制作一张柱状图并保存在电脑上

代码:(源码来自百度和博客,后有修改,侵删致歉)

3.链接数据库,获得数据库中的数据,生成图片通过jsp显示到浏览器

这里利用的servlet来实现,利用jsp也可以实现,但是jsp处理业务逻辑不方便。 其实很简单,在servlet中实现一个方法取代上面代码中的getDataSet2()方法,不同的是数据不是自己直接添加的,而是与数据库连接,通过数据库得到的。下面是代码: (注意:下面的DBUtil类是一个工具类,功能只是得到一个已经获取数据库连接的Connection对象)

private static CategoryDataset getDataSet() { //数据集 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); //从数据库中获取数据 Connection conn=null; PreparedStatement ptmt=null; ResultSet rs=null; String sql=""; try { conn=DBUtil.getConnection(); sql="SELECT goodsName,sum(trading_Number)FROM trading AS t JOIN goods AS g ON(goodsId=trading_GoodsId) GROUP BY goodsId "; ptmt=conn.prepareStatement(sql); rs=ptmt.executeQuery(); while(rs.next()){ dataset.addValue(rs.getInt(2), "", rs.getString(1)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { ptmt.close(); rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return dataset; } 获得数据以后,制表就和第2点中的方法一样了,你可以改变表名,字体等相关信息。 表制作成功以后保存到项目下,方便jsp页面可以直接用img标签读取,代码略。

4.制作一张饼状图保存在电脑上

饼图代码,很多代码设置了一些不必要的东西,个人觉得这个代码就比较简洁了,如有问题,欢迎指正!

连接数据库,通过jsp页面展示图片和上述第3点方法一致

5.简单总结

制作柱状图

获得数据: CategoryDataset dataset = getDataSet();

对应的工厂方法为 createBarChart3D,JFreeChart chart = ChartFactory.createBarChart3D...

制作饼状图

获得数据:DefaultPieDataset df=Test2.getDataSet();

对应的工厂方法为 createPieChart3D,JFreeChart chart=ChartFactory.createPieChart3D...

获取图片都是用的javaIO流

FileOutputStream fos_jpg = null; try { fos_jpg = new FileOutputStream("D:\pig.jpg"); ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 400, 300); //ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,400,300,null); } finally { try { fos_jpg.close(); }catch (Exception e) {} }

经验分享 程序员 微信小程序 职场和发展