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

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

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

    軟件藝術(shù)思考者  
    混沌,彷徨,立志,蓄勢(shì)...
    公告
    日歷
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    隨筆分類(86)

    隨筆檔案(85)

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

     
    1.折線圖

    <%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="java.awt.Color"%>
    <%@ page import = "org.jfree.chart.ChartFactory,
                      org.jfree.chart.ChartPanel,
                      org.jfree.chart.JFreeChart,
                      org.jfree.chart.DefaultOldLegend,
                      org.jfree.chart.axis.NumberAxis,
      org.jfree.chart.plot.CategoryPlot,
      org.jfree.chart.plot.PlotOrientation,
      org.jfree.chart.renderer.category.LineAndShapeRenderer,
      org.jfree.data.category.CategoryDataset,
      org.jfree.data.category.DefaultCategoryDataset,
      org.jfree.chart.servlet.ServletUtilities
    "%>
    <%@ page import="org.jfree.chart.axis.CategoryAxis"%>
    <%@ page import="org.jfree.chart.axis.CategoryLabelPositions"%>
    <%@ page import="org.jfree.data.general.DatasetUtilities"%>
    <jsp:directive.page import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator"/>

    <%

    String[] rowKeys= null;//柱數(shù)據(jù)
    String[] columnKeys=null;//刻度數(shù)據(jù)

    rowKeys = new String[]{"219.146.1.196","219.146.10.105","219.146.10.116","219.146.10.73"};
    columnKeys = new String[]{"2008年7月上旬","2007-02-04"};

    double[][] data = new double[rowKeys.length][columnKeys.length];
    data = new double[][]{
      {1022.0,856.0},{676.0,13563.0},{12827.0,10576.0},{0.0,100.0} 
      };
    CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
    JFreeChart chart = ChartFactory.createLineChart(
               "這是測(cè)試標(biāo)題...",
                "時(shí)間",
                "訪問(wèn)量",                 // range axis label
               dataset,                   // data
               PlotOrientation.VERTICAL,  // orientation
               true,                      // include legend
               true,                      // tooltips
               false                      // urls
           );
    chart.setBackgroundPaint(Color.WHITE);  //-----------------------------背景色
    chart.setBorderVisible(true);  //--------------------------------------設(shè)置邊框是否可見(jiàn)
    chart.setBorderPaint(Color.BLUE);  //-----------------------------------設(shè)置邊框顏色setBorderVisible()必須為true

    CategoryPlot plot = chart.getCategoryPlot();
    plot.setBackgroundPaint(Color.CYAN);
    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
            plot.setDomainAxis(domainAxis);
           // customise the range axis... 設(shè)置統(tǒng)計(jì)圖中只顯示整數(shù)
           NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
           rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
           rangeAxis.setAutoRangeIncludesZero(true);
           rangeAxis.setUpperMargin(0.20);
           rangeAxis.setLabelAngle(Math.PI / 2.0); 
             
           LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();  
           renderer.setItemLabelsVisible(true);
           renderer.setShapesVisible(true);//series 點(diǎn)(即數(shù)據(jù)點(diǎn))可見(jiàn)
           renderer.setSeriesPaint(0, new Color(0, 0, 255));
           renderer.setSeriesPaint(1, new Color(255, 0, 255));
           renderer.setSeriesPaint(2, new Color(0, 255, 255));
           renderer.setSeriesPaint(3, new Color(0,125,0));
           renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
        renderer.setItemLabelsVisible(true);
         
    String filename = ServletUtilities.saveChartAsPNG(chart, 850, 550, null, session);
    String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
    %>
    <br>
    <link href="css/default.css" rel="stylesheet" type="text/css">
    <center>
    <img src="<%= graphURL %>" width=850 height=550 border=0 usemap="#<%= filename %>">

     2.餅狀圖

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ page import="java.io.FileOutputStream"%>
    <%@ page import="java.io.IOException"%>
    <%@ page import="java.io.*"%>
    <%@ page import="java.awt.Color"%>
    <%@ page import="java.awt.*"%>
    <%@ page import="java.awt.event.*"%>
    <%@ page import="javax.swing.*"%>
    <%@ page import="org.jfree.chart.*"%>
    <%@ page import="org.jfree.data.*"%>
    <%@ page import="org.jfree.data.general.*"%>
    <%@ page import="org.jfree.data.category.*"%>
    <%@ page import="org.jfree.chart.plot.PlotOrientation"%>
    <%@ page import="org.jfree.data.category.CategoryDataset"%>
    <%@ page import="org.jfree.data.category.DefaultCategoryDataset"%>
    <%@ page import="org.jfree.ui.ApplicationFrame"%>
    <%@ page import="org.jfree.chart.plot.CategoryPlot"%>
    <%@ page import="org.jfree.chart.axis.NumberAxis"%>
    <%@ page import="org.jfree.chart.renderer.category.LineAndShapeRenderer"%>
    <%@ page import="org.jfree.chart.renderer.category.*"%>
    <%@ page import="org.jfree.chart.renderer.category.LineAndShapeRenderer"%>
    <%@ page import="org.jfree.chart.plot.PiePlot"%>
    <%@page import ="org.jfree.chart.labels.StandardCategoryItemLabelGenerator"%>
    <%@page import ="org.jfree.chart.renderer.category.BarRenderer3D"%>
    <%@ page import="org.jfree.data.general.DefaultPieDataset"%>
    <%@ page import="org.jfree.chart.*"%>
    <%@ page import="org.jfree.chart.plot.*"%>
    <%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
    <%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
    <%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
    <%
      DefaultPieDataset data = new DefaultPieDataset();
      //數(shù)據(jù)初始化
      data.setValue("高中以下",380);
      data.setValue("高中",1620);
      data.setValue("大專",6100);
      data.setValue("本科",8310);
      data.setValue("碩士",3520);
      data.setValue("博士",1900);
      
      //HttpSession session = request.getSession();
      
      PiePlot plot = new PiePlot(data);//生成一個(gè)3D餅圖
      //plot.setURLGenerator(new StandardPieURLGenerator("DegreedView.jsp"));//設(shè)定圖片鏈接
      JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
      chart.setBackgroundPaint(java.awt.Color.white);//可選,設(shè)置圖片背景色
      chart.setTitle("程序員學(xué)歷情況調(diào)查表-By Alpha");//可選,設(shè)置圖片標(biāo)題
      //plot.setToolTipGenerator(new StandardPieURLGenerator());
      StandardEntityCollection sec = new StandardEntityCollection();
      ChartRenderingInfo info = new ChartRenderingInfo(sec);
      PrintWriter w = new PrintWriter(out);//輸出MAP信息
      //500是圖片長(zhǎng)度,300是圖片高度
      //String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
      String filename = ServletUtilities.saveChartAsJPEG(chart,500,300,info,session);
      ChartUtilities.writeImageMap(w,"map0",info,false);
      
      String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;

    %>
    <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#map0">

    3.柱狀圖

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
    <jsp:directive.page import="org.jfree.data.general.DatasetUtilities"/>
    <jsp:directive.page import="org.jfree.chart.JFreeChart"/>
    <jsp:directive.page import="org.jfree.chart.ChartFactory"/>
    <jsp:directive.page import="org.jfree.chart.plot.PlotOrientation"/>
    <jsp:directive.page import="java.awt.Color"/>
    <jsp:directive.page import="org.jfree.chart.plot.CategoryPlot"/>
    <jsp:directive.page import="org.jfree.chart.axis.CategoryAxis"/>
    <jsp:directive.page import="org.jfree.chart.axis.CategoryLabelPositions"/>
    <jsp:directive.page import="org.jfree.chart.axis.NumberAxis"/>
    <jsp:directive.page import="org.jfree.chart.servlet.ServletUtilities"/>
    <jsp:directive.page import="org.jfree.data.category.CategoryDataset"/>
    <jsp:directive.page import="org.jfree.chart.renderer.category.BarRenderer3D"/>
    <jsp:directive.page import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator"/>
    <jsp:directive.page import="org.jfree.chart.axis.AxisLocation"/>
    <jsp:directive.page import="java.text.DecimalFormat"/>
    <%
    String[] rowInfo = new String[]{"one","two"};
    String[] colInfo = new String[]{"first","second"};
    double[][] dataInfo = new double[2][2];
    dataInfo = new double[][]{
      {1022.0,856.0},{676.0,13563.0} 
      };
    CategoryDataset data = DatasetUtilities.createCategoryDataset(rowInfo,colInfo,dataInfo);
    JFreeChart chart = ChartFactory.createBarChart3D("this is test......",
                      "row",
                      "col",
                      data,
                      PlotOrientation.VERTICAL,
                      true,false,false);
    chart.setAntiAlias(true);
    chart.setBackgroundPaint(Color.WHITE);
    chart.setBorderPaint(Color.BLACK);
    chart.setBorderVisible(true);

    //圖表區(qū)域?qū)ο螅旧线@個(gè)對(duì)象決定著什么樣式的圖表,創(chuàng)建該對(duì)象的時(shí)候需要Axis、Renderer以及數(shù)據(jù)集對(duì)象的支持
    CategoryPlot plot = chart.getCategoryPlot();
    plot.setDomainGridlinePaint(Color.RED); //橫坐標(biāo)網(wǎng)格線白色
    plot.setDomainGridlinesVisible(true); //可見(jiàn)
    plot.setBackgroundPaint(Color.CYAN);

    //用于處理圖表的兩個(gè)軸:縱軸和橫軸
    CategoryAxis axis = plot.getDomainAxis();
    axis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
    axis.setAxisLinePaint(Color.RED);
    //axis.setLabel("asdfasdfa");
    //axis.setUpperMargin(5);
    axis.setTickMarksVisible(true);
    axis.setAxisLineVisible(true);


    NumberAxis numberaxis = (NumberAxis)plot.getRangeAxis();
    numberaxis.setAutoTickUnitSelection(true);
    numberaxis.setAutoRangeIncludesZero(false);

    BarRenderer3D renderer = new BarRenderer3D();

    renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setItemLabelsVisible(true);
    renderer.setBaseOutlinePaint(Color.BLACK);
    //設(shè)置 Wall 的顏色
    renderer.setWallPaint(Color.GREEN);
    //設(shè)置每種柱的顏色
    //renderer.setSeriesPaint(0, new Color(0, 0, 255));
    //renderer.setSeriesPaint(1, new Color(0, 100, 255));
    //設(shè)置平行柱之間距離
    renderer.setItemMargin(0.02);
    //顯示每個(gè)柱的數(shù)值,并修改該數(shù)值的字體屬性
    //renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    //renderer.setItemLabelsVisible(true);
    plot.setRenderer(renderer);

    //設(shè)置柱的透明度
    plot.setForegroundAlpha(0.8f);
    //設(shè)置地區(qū)、銷量的顯示位置
    plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);

    String filename = ServletUtilities.saveChartAsPNG(chart, 850, 550, null, session);
    String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
     %>

    <center>
    <img src="<%= graphURL %>" width=850 height=550 border=0 usemap="#<%= filename %>">

     

    posted on 2008-10-21 12:00 智者無(wú)疆 閱讀(748) 評(píng)論(3)  編輯  收藏 所屬分類: about java
    評(píng)論:
    • # re: 內(nèi)部類的用法  智者無(wú)疆 Posted @ 2008-10-21 12:09
      package com.movo.movonet.web.interceptor;

      import java.util.Calendar;
      import java.util.Date;
      import java.util.List;
      import java.util.Map;

      import javax.servlet.http.HttpServletRequest;

      import org.apache.log4j.Logger;
      import org.omg.PortableInterceptor.ServerRequestInterceptor;

      import com.movo.movonet.GetAddress;
      import com.movo.movonet.pojo.Compass;
      import com.movo.movonet.pojo.NVisitcount;
      import com.movo.movonet.second.service.NVisitCountService;
      import com.movo.movonet.service.visitCompassService;
      import com.movo.movonet.web.BaseAction;
      import com.opensymphony.webwork.ServletActionContext;
      import com.opensymphony.webwork.dispatcher.SessionMap;
      import com.opensymphony.webwork.interceptor.ScopeInterceptor;
      import com.opensymphony.xwork.ActionContext;
      import com.opensymphony.xwork.ActionInvocation;
      import com.opensymphony.xwork.interceptor.Interceptor;
      import com.opensymphony.xwork.interceptor.PreResultListener;
      import com.opensymphony.xwork.util.OgnlValueStack;

      public class TotalVisitIntercetor extends ScopeInterceptor{
      Logger log = Logger.getLogger(TotalVisitIntercetor.class);
      private visitCompassService visitcompassService;
      private NVisitCountService visitCountService;
      private NVisitcount visitCount;
      HttpServletRequest request;
      Compass compass;
      /**
      * @return visitCount
      */
      public NVisitcount getVisitCount() {
      return visitCount;
      }

      /**
      * @param visitCount ????õ? visitCount
      */
      public void setVisitCount(NVisitcount visitCount) {
      this.visitCount = visitCount;
      }

      /**
      * @return visitCountService
      */
      public NVisitCountService getVisitCountService() {
      return visitCountService;
      }

      /**
      * @param visitCountService ????õ? visitCountService
      */
      public void setVisitCountService(NVisitCountService visitCountService) {
      this.visitCountService = visitCountService;
      }

      public void setVisitcompassService(visitCompassService visitcompassService) {
      this.visitcompassService = visitcompassService;
      }

      protected void before(ActionInvocation invocation) throws Exception {
      invocation.addPreResultListener(this);
      }

      protected void after(ActionInvocation invocation, String result) throws Exception {

      }

      public void beforeResult(ActionInvocation arg0, String arg1) {
      request = ServletActionContext.getRequest();
      compass = (Compass)ServletActionContext.getRequest().getSession().getAttribute(BaseAction.SESSION_KEY_COMPASS);
      if(compass != null){
      visitcompassService.saveVisitCompass(compass.getCompassid());
      Integer[] visitNum = visitcompassService.getVisitCompassNum(compass.getCompassid());
      BaseAction.todayVisitNum = visitNum[0].intValue();
      BaseAction.totalVisitNum = visitNum[1].intValue();
      BaseAction.totalArticleNum = visitNum[2].intValue();
      BaseAction.totalArtcommentNum = visitNum[3].intValue();
      BaseAction.totalReviewNum = visitNum[4].intValue();
      log.debug("xxxxxxxxxxxxxxxxxxx???????????"+visitcompassService);

      class innerThread implements Runnable{
      public void run() {
      HttpServletRequest request = TotalVisitIntercetor.this.request;
      Compass compass = TotalVisitIntercetor.this.compass;
      String visitIp =request.getRemoteAddr();
      String visitAddress ="";
      String sourceWebSite = request.getRemoteHost();
      String visitedHost = request.getLocalName();
      try {
      visitAddress = GetAddress.getAddressByIP(visitIp);
      } catch (Exception e) {
      e.printStackTrace();
      }
      String hql="from NVisitcount v where v.visiterIp=? and v.companyId=? and v.createtime>=?";
      Date today = new Date();
      Calendar cal = Calendar.getInstance();
      cal.setTime(today);
      cal.set(Calendar.HOUR_OF_DAY, 0);
      cal.set(Calendar.SECOND, 0);
      cal.set(Calendar.MINUTE, 0);
      today = cal.getTime();
      List<NVisitcount> li = visitCountService.find(hql,new Object[]{visitIp,compass.getCompassid(),today});
      if(li!=null&&li.size()>0){
      visitCount = li.get(0);
      visitCount.setVisitcountTotal(visitCount.getVisitcountTotal()+1);
      visitCount.setVisiterAddress(visitAddress);
      visitCountService.updateVisitCount(visitCount);
      }else{
      visitCount = new NVisitcount();
      visitCount.setCompanyId(compass.getCompassid());
      visitCount.setCreatetime(new Date());
      visitCount.setVisitcountTotal(1);
      visitCount.setVisiterAddress(visitAddress);
      visitCount.setVisiterIp(visitIp);
      visitCount.setVisitsite(visitedHost);
      visitCount.setSourceWebSite(sourceWebSite);
      visitCountService.saveVisitCount(visitCount);
      }

      }
      }

      //new Thread(new innerThread()).start();


      }
      }


      }
        回復(fù)  更多評(píng)論   

    • # re: 內(nèi)部類的用法  智者無(wú)疆 Posted @ 2008-10-21 12:10
      package com.movo.movonet;
      import org.apache.commons.httpclient.HttpClient;
      import org.apache.commons.httpclient.methods.GetMethod;
      import org.apache.commons.logging.Log;
      import org.apache.commons.logging.LogFactory;

      public class GetAddress {

      public static Log log = LogFactory.getLog(GetAddress.class);
      public static String getAddressByIP(String ip) throws Exception{
      HttpClient client=new HttpClient();
      GetMethod loginMethod=new GetMethod("http://www.123cha.com/ip/?q="+ip);
      loginMethod.addRequestHeader("Content-Type", "text/html; charset=GBK");
      client.executeMethod(loginMethod);
      byte[] back = loginMethod.getResponseBody();
      String metter = new String(back,"gbk");
      String []addressBy=SystemConfig.getInstance().getConfiguration().getStringArray("sys.ipaddress");
      String begin1="參考數(shù)據(jù)一",begin2="參考數(shù)據(jù)二",begin3="本站主數(shù)據(jù)";
      String address="";
      if(metter.indexOf(begin2)>0){
      address = metter.substring(metter.indexOf(begin2)+19);
      }
      else if(metter.indexOf(begin3)>0){
      address = metter.substring(metter.indexOf(begin3)+19);
      }else {
      address = metter.substring(metter.indexOf(begin1)+19);
      }
      address = address.substring(0, address.indexOf("</li>"));
      String add[] = address.split("&nbsp;");
      if(add.length>=3){
      return add[0].trim()+add[1].trim().replace("&nbsp;", "");
      }else if(add.length==2){
      return add[0].replace("&nbsp;", "");
      }else {

      return address.replace("&nbsp;", "");
      }

      }
      public static void main(String args[]){
      try{
      getAddressByIP("120.7.188.144");

      }catch(Exception e){
      e.printStackTrace();
      }
      }


      }
        回復(fù)  更多評(píng)論   

    • # re: 幾種報(bào)表圖的畫(huà)法[未登錄](méi)  追夢(mèng)人 Posted @ 2008-12-12 14:02
      我把你的例子弄過(guò)去試。。可是org.jfree.chart.DefaultOldLegend, 報(bào)錯(cuò)。。請(qǐng)幫忙。。謝了。
        回復(fù)  更多評(píng)論   

     
    Copyright © 智者無(wú)疆 Powered by: 博客園 模板提供:滬江博客


       觀音菩薩贊

    主站蜘蛛池模板: 激情97综合亚洲色婷婷五| 三年片在线观看免费观看大全中国| 亚洲情a成黄在线观看| 99久久久国产精品免费无卡顿| a级片免费观看视频| 免费播放美女一级毛片| 亚洲fuli在线观看| 亚洲成年轻人电影网站www | 亚洲成人福利在线观看| 亚洲中文无韩国r级电影| 国产成人免费永久播放视频平台 | 亚洲福利视频一区二区三区| 亚洲无码在线播放| 亚洲免费在线观看| 国产成人免费片在线视频观看| 日韩免费a级毛片无码a∨ | 亚洲人成免费电影| 亚洲国产精品第一区二区| 亚洲日本va在线视频观看| 亚洲高清视频一视频二视频三| 日韩精品视频免费在线观看| 啦啦啦高清视频在线观看免费| 精品无码免费专区毛片| 一区二区三区观看免费中文视频在线播放| 一级毛片aaaaaa视频免费看| 国产成人亚洲精品91专区高清| 亚洲av无码专区在线电影天堂| 久久精品国产亚洲av麻豆蜜芽| 亚洲精品免费在线| 亚洲综合久久成人69| 久久亚洲AV成人无码电影| 久久久亚洲欧洲日产国码二区| 国产AV无码专区亚洲精品| 亚洲国产成人高清在线观看 | 黄桃AV无码免费一区二区三区| 黄网站色视频免费看无下截| 视频一区二区三区免费观看| 羞羞视频网站免费入口| 一区二区三区AV高清免费波多| 一个人看的www免费高清| 一级美国片免费看|