使用jfreechart创建图形报表

 

使用jfreechart创建图形报表:
1. 建立数据集:每一种图形都有自己的dataset,如:饼图对应的接口是PieDataSet代码如下:
DefaultPieDataset data = new DefaultPieDataset();
  data.set(mm,tt);
        String ss[]=infoStr.split(",");
        for (int n=0;n<ss.length;n++)
        {   String ssPart[]=ss[n].split("#");
            int tt=Integer.parseInt(ssPart[1]);
            String mm=ssPart[0];
            data.set(mm,tt);
        }
2. 建立用于绘制图表的JFreeChart类:
JFreeChart chart= new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);

JFreeChart chart =ChartFactory.createPieChart(title, piedata, true, true, true);
3. 将图标输出到指定的目标:

String fileName = ServletUtilities.saveChartAsJPEG(chart,400,300,null,null);
在jsp中绘制图表:
1. 绘制柱状图:
(1)创建绘制主装图需要的数据集:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.add(300, "北京", "苹果");
dataset.add(200, "北京", "西瓜");
dataset.add(500, "北京", "葡萄");
dataset.add(340, "北京", "芒果");
dataset.add(280, "北京", "香蕉");
(2)创建jFreeChart组件的图标对象
JFreeChart chart = ChartFactory.createBarChart3D("水果销量统计图",// 图表标题
                  "水果",//X轴的显示标题
                  "销量",//Y轴的显示标题
                  dataset,// 数据集
                  PlotOrientation.VERTICAL,// 图表方向:水平、垂直
                  false,// 是否包含图例
                  false,//是否包含提示
                  false//是否包含URL
                  );
(3)设置图表的生成格式:
设置图表的各种属性,例如背景色,每个柱的颜色等,可以通过CategoryPlot对象完成。
// 设置图表的背景颜色
        chart.setBackgroundPaint(new Color(207, 225, 235));
        // 获得CategoryPlot对象的引用,用于设置更多的自定义绘制属性
        CategoryPlot plot = chart.getCategoryPlot();
        plot.setBackgroundPaint(new Color(246, 208, 146));
        plot.setDomainGridlinePaint(Color.BLACK);
        plot.setDomainGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.RED); 
// 设置横轴标题文字的旋转方向
 CategoryAxis domainAxis = plot.getDomainAxis();
        domainAxis.setCategoryLabelPositions(
            CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)
        );
(4)设置图表的文件名及类型:
// 设置图片生成路径
        String fileName = ServletUtilities.saveChartAsJPEG(chart,400,300,null,null); 
    (5)设置图表的浏览路径
String url =request.getContextPath()+"/DisplayChart?filename=" + fileName; 
   (6)在jsp页面中调用
 <img src="<%=url%>" border=1>
   (7)在web.xml中配置浏览图表所要调用的servlet。
<servlet>
  <servlet-name>DisplayChart</servlet-name>
  <servlet-class>
   org.jfree.chart.servlet.DisplayChart
  </servlet-class>
 </servlet>
<servlet-mapping>
  <servlet-name>DisplayChart</servlet-name>
  <url-pattern>/DisplayChart</url-pattern>
 </servlet-mapping> 
2. 完整的实例代码:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="org.jfree.chart.ChartFactory,
                 org.jfree.chart.JFreeChart,
                 org.jfree.chart.plot.PlotOrientation,
                 org.jfree.chart.servlet.ServletUtilities,
                 org.jfree.data.category.DefaultCategoryDataset,
                 org.jfree.chart.ChartUtilities"%>
<%

DefaultCategoryDataset dataset = new DefaultCategoryDataset();

dataset.add(300, "北京", "苹果");
dataset.add(200, "北京", "西瓜");
dataset.add(500, "北京", "葡萄");
dataset.add(340, "北京", "芒果");
dataset.add(280, "北京", "香蕉");

JFreeChart chart = ChartFactory.createBarChart3D("水果销量统计图",// 图表标题
                  "水果",//X轴的显示标题
                  "销量",//Y轴的显示标题
                  dataset,// 数据集
                  PlotOrientation.VERTICAL,// 图表方向:水平、垂直
                  false,// 是否包含图例
                  false,//是否包含提示
                  false//是否包含URL
                  );
String fileName = ServletUtilities.saveChartAsJPEG(chart,800,600,null,null); 
//返回系统目录
String url =request.getContextPath()+"/DisplayChart?filename=" + fileName;
%>
<html>
<head>
 <title>JFreeChart Example </title>
</head>
<body>
<p align="center">
<img src="<%=url%>" border=1>
</p>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值