`
Cecily
  • 浏览: 57631 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

制作饼图

阅读更多

    有学生要在毕设作品中加个饼图,根据数据库中查询出的数据计算百分比,显示在图上,参考了javaeye中的帖子,整理了一个小例子,功能其实还不完善,留作备忘吧。

     需要的专门jar包在附件中,是利用JFreeChart来做的,jsp部分的代码如下:

   

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="org.jfree.chart.*" %>
<%@ page import="org.jfree.data.general.DefaultPieDataset" %>
<%@ page import="java.io.*" %>
<%@ page import="java.awt.Font" %>
<%@ page import="org.jfree.chart.plot.PiePlot" %>
<html>
  <head>
    <title>生成饼图</title>
 </head>
  
<body>
  饼图
  <br>
  <img src="c:\\savebook.jpg">
  <%
  equest.setCharacterEncoding("gbk");
  DefaultPieDataset dataset = new DefaultPieDataset();  
  //此部分数据为测试数据,从数据库中查询类似
 dataset.setValue("Spring2.0教材", 47000);   
  dataset.setValue("J2EE开发大全", 38000);   
  dataset.setValue("Ajax", 31000);   
  dataset.setValue("Javascript参考手册", 49000);   
  dataset.setValue("Ajax in Action", 25000);  
  //生成一个饼图图表对象,参数分别为:饼图标题、数据、是否显示图例、是否显示工具提示、是否生成URL   
  JFreeChart chart = ChartFactory.createPieChart("book销售信息", dataset, true, true, true);   
  //设置饼图标题可以正常显示中文
 chart.getTitle().setFont(new Font("宋体", Font.BOLD,12));
  chart.getLegend().setItemFont(new Font("宋体", Font.BOLD,12));
  //设置饼图数据中文显示
  PiePlot plot = (PiePlot) chart.getPlot();
  plot.setLabelFont(new Font("宋体", Font.BOLD,12)); 
  //创建一个名为savebook.jpg的文件 ,将图片保存在客户端 
  File file = new File("c:\\savebook.jpg");   
  //对savebook.jpg进行数据的写入及保存   
  ChartUtilities.saveChartAsJPEG(file, chart, 400, 400);   
   %>
</body>
</html>

 

    生成的效果图,如附件图。

    饼图效果

   

  • 大小: 28.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics