<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我思故我強(qiáng)

    有熱點(diǎn)的JfreeChart柱型圖(原創(chuàng))



    實(shí)現(xiàn)方式:jsp+javabean
    版本 :jfreechart-1.0.8
    web-inf:設(shè)置
    =====================================
    <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>/servlet/DisplayChart</url-pattern>
    ?</servlet-mapping>
    ======================================
    jsp文件:
    =========================================================================
    <%@ page language="java" contentType="text/html; charset=GBK"
    ?pageEncoding="GBK"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <title>Insert title here</title>

    <script language="javascript">
    function overlib(s){
    ?document.all.ChartTip.style.display="block";
    ?top.document.getElementById('ChartTip').innerHTML=s;
    ?document.all.ChartTip.style.left=document.body.scrollLeft+event.x;
    ?document.all.ChartTip.style.top=document.body.scrollTop+event.y-20;
    }
    function nd(s){
    ?document.all.ChartTip.style.display="none";
    }
    </script>
    <jsp:useBean id="barchart01" scope="session"
    ?class="com.mdcl.fso.homepage.chart.BarChart01" />
    </head>
    <body>
    <%
    ?String fileName = barchart01.drawPic(request.getSession(), out);
    ?String graphURL = request.getContextPath()
    ???+ "/servlet/DisplayChart?filename=" + fileName;
    %>
    <br />
    <img src="<%= graphURL %>" border="0" usemap="#<%=fileName %>" />
    <br />
    <div id="ChartTip"
    ?style="position:absolute; font-family:'宋體'; font-size: 12px;line-height: 20px;background-color:#FFFFEC; border: 1px solid #999999;display:none;left:0px;top:1px;">測(cè)試顯示</div>
    </body>
    </html>
    =========================================================================
    java文件
    =========================================================================
    package com.mdcl.fso.homepage.chart;

    import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartRenderingInfo;
    import org.jfree.chart.ChartUtilities;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.data.category.DefaultCategoryDataset;
    import java.awt.Color;
    import java.awt.Font;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.PrintWriter;

    import org.jfree.chart.renderer.category.BarRenderer3D;
    import org.jfree.chart.servlet.ServletUtilities;
    import org.jfree.chart.urls.StandardCategoryURLGenerator;
    import org.jfree.chart.urls.StandardPieURLGenerator;
    import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
    import org.jfree.chart.axis.AxisLocation;
    import org.jfree.chart.axis.CategoryAxis;
    import org.jfree.chart.entity.StandardEntityCollection;
    import org.jfree.chart.plot.CategoryPlot;
    import org.jfree.chart.labels.*;
    import org.jfree.ui.*;
    import java.util.*;

    import javax.servlet.http.HttpSession;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.jsp.JspWriter;

    import com.mdcl.fso.homepage.*;

    public class BarChart01 {

    ?private static DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    ?private DefaultCategoryDataset getDataset() {// 取數(shù)據(jù)

    ??List expense = new ArrayList();
    ??String sql = "select ftr.organ_id ,fs.dept_name,ftr.subject_id,fft.finance_type_name,ftr.rpt_date ,ftr.rpt_data "
    ????+ "from fso_t_rpt_expense ftr,fso_sdept fs,fso_finance_type fft "
    ????+ "where ftr.type_id='D' "
    ????+ "and ftr.organ_id=fs.dept_id? "
    ????+ "and ftr.rpt_date='2007-08' "
    ????+ "and fft.finance_type_id=ftr.subject_id? "
    ????+ "and ftr.organ_id='1140'";

    ??expense = DBDao.DbQueryExpense(sql);
    ??for (int i = 0; i < expense.size(); i++) {
    ???HashMap param = new HashMap();
    ???param = (HashMap) expense.get(i);

    ???double dt = Double.parseDouble(String.valueOf(param.get("rpt_data")));
    ???String a = (String) param.get("organ");
    ???String b = (String) param.get("subject");

    ???dataset.addValue(dt, a, b);
    ??}

    ??return dataset;

    ?}

    ?public String drawPic(HttpSession session, JspWriter out) {
    ??String fileName = null;
    ??JFreeChart chart = ChartFactory.createBarChart3D("2007-08成本統(tǒng)計(jì)", "費(fèi)用類型",
    ????"金額(單位:元)", getDataset(), PlotOrientation.VERTICAL, true, true,
    ????true);
    ??chart.setBackgroundPaint(Color.WHITE);

    ??CategoryPlot plot = chart.getCategoryPlot();// 獲取繪圖區(qū)

    ??plot.setBackgroundPaint(new Color(255, 255, 255)); // 設(shè)置繪圖區(qū)背景色

    ??plot.setRangeGridlinePaint(Color.gray); // 設(shè)置水平方向背景線顏色

    ??plot.setRangeGridlinesVisible(true); // 設(shè)置是否顯示水平方向背景線,默認(rèn)值為True

    ??plot.setDomainGridlinePaint(Color.black); // 設(shè)置垂直方向背景線顏色

    ??// plot.setDomainGridlinesVisible(true); // 設(shè)置是否顯示垂直方向背景線,默認(rèn)值為False

    ??CategoryAxis domainAxis = plot.getDomainAxis();// 獲取統(tǒng)計(jì)種類軸標(biāo)題(X軸)

    ??plot.setDomainAxis(domainAxis);// 添加X軸

    ??BarRenderer3D renderer = new BarRenderer3D();// 獲得BarRenderer3D類的實(shí)例,目的是設(shè)置柱形的繪制屬性

    ??renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());//

    ??renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator("index2.jsp"));// 生成熱點(diǎn),用于鏈接

    ??renderer.setItemMargin(0.1);// 設(shè)置每個(gè)組所包含的平行柱的之間距離

    ??renderer.setSeriesPaint(0, Color.GREEN);// 設(shè)置柱子的顏色
    ??renderer.setSeriesPaint(1, Color.blue);// 設(shè)置柱子的顏色

    ??renderer.setBaseOutlinePaint(Color.BLACK);

    ??renderer.setWallPaint(Color.gray);// 設(shè)置 Wall 的顏色

    ??renderer.setItemLabelAnchorOffset(10D);// 設(shè)置柱形圖上的文字偏離值

    ??renderer.setBaseItemLabelFont(new Font("arial", Font.PLAIN, 10), true);// 設(shè)置柱形圖上的文字

    ??renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());// //顯示每個(gè)柱的數(shù)值,并修改該數(shù)值的字體屬性

    ??renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER));

    ??renderer.setBaseItemLabelsVisible(true);

    ??renderer.setMaximumBarWidth(0.050000000000000003D);

    ??plot.setRenderer(renderer);

    ??plot.setForegroundAlpha(0.80f);// 設(shè)置柱的透明度

    ??// plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);//設(shè)置顯示位置

    ??plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);// 設(shè)置顯示位置

    ??try {

    ???PrintWriter pw = new PrintWriter(out);

    ???StandardEntityCollection sec = new StandardEntityCollection();
    ???ChartRenderingInfo info = new ChartRenderingInfo(sec);

    ???fileName = ServletUtilities.saveChartAsPNG(chart, 640, 400, info,
    ?????session);
    ???// ChartUtilities.writeChartAsPNG(op,chart, 640, 400, info,true,0);
    ???ChartUtilities.writeImageMap(pw, fileName, info, true);
    ??} catch (IOException e) {
    ???// TODO Auto-generated catch block
    ???e.printStackTrace();
    ??}

    ??return fileName;

    ?}

    }
    =========================================================================


    posted on 2007-12-04 09:57 李云澤 閱讀(2622) 評(píng)論(2)  編輯  收藏 所屬分類: Java代碼JFreeChart

    評(píng)論

    # re: 有熱點(diǎn)的JfreeChart柱型圖(原創(chuàng)) 2008-04-07 12:55 qwb

    能否把import com.mdcl.fso.homepage.*;這個(gè)包也一起提供一下啊  回復(fù)  更多評(píng)論   

    # re: 有熱點(diǎn)的JfreeChart柱型圖(原創(chuàng)) 2008-05-09 16:58 assun

    感謝版主提供的實(shí)例   回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 99re6在线精品免费观看| 免费A级毛片无码久久版| 国产免费人成视频尤勿视频| 亚洲国产美女精品久久| 国产亚洲精品自在线观看| 精品国产一区二区三区免费看| 色欲国产麻豆一精品一AV一免费| 人人爽人人爽人人片A免费| 色偷偷亚洲女人天堂观看欧| 亚洲成AV人在线播放无码| 国产免费一区二区三区VR| 91免费国产自产地址入| 成人爽a毛片免费| 日本精品久久久久久久久免费| 亚洲精品无码人妻无码| 亚洲国产电影在线观看| 亚洲视频在线观看| 亚洲精品乱码久久久久久蜜桃不卡| 免费久久精品国产片香蕉| 午夜dj在线观看免费视频| 日本三级2019在线观看免费| 91香焦国产线观看看免费| 精品国产一区二区三区免费| av片在线观看永久免费| 福利片免费一区二区三区| 亚洲精品国产综合久久久久紧| 亚洲国产精品yw在线观看| 91亚洲自偷在线观看国产馆| 亚洲永久中文字幕在线| 亚洲一区影音先锋色资源| 亚洲AV无码成人精品区在线观看| 黑人大战亚洲人精品一区 | 精品国产一区二区三区免费看| 色se01短视频永久免费| 3344免费播放观看视频| 在线免费中文字幕| 3d成人免费动漫在线观看| 最近中文字幕mv免费高清视频8| 99精品视频在线观看免费播放| 久久成人免费大片| 午夜免费福利小电影|