チャートのjfreechart


この前、チャートについて知りましたが、まずJAVAにとって、いいのはjfreechartです。具体的な紹介については、これを紹介しません。ここで私は小さい例を二つ作りました。それぞれのヒストグラムは具体的に参考にしましょう。インターネットにはjfreechartに関する資料が多いです。
コードは以下の通りです


	       HttpSession session = request.getSession();
		response.setContentType("image/jpeg"); 
		request.setCharacterEncoding("UTF-8");
		CreateDate creat = new CreateDate();
		CategoryDataset dateSet= creat.getDataSet();
		JFreeChart chart = ChartFactory.createBarChart3D("       ", null, null, dateSet, PlotOrientation.VERTICAL,true,true,true);

		CategoryPlot plot = chart.getCategoryPlot();
		BarRenderer3D renderer = new BarRenderer3D();
		//          org.jfree.chart.axis.CategoryAxis
		CategoryAxis domainAxis  = plot.getDomainAxis();
		domainAxis.setLowerMargin(0.1);//             10%
        domainAxis.setUpperMargin(0.1);//                10
        domainAxis.setCategoryLabelPositionOffset(10);//          (10  )
        domainAxis.setCategoryMargin(0.2);//         20%
        //        
        ValueAxis rangeAxis = plot.getRangeAxis();
        rangeAxis.setUpperMargin(0.1);//                (    10%)
        renderer.setBaseOutlinePaint(Color.red);
        renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());//      
       
        renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 
        renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER));
         renderer.setBaseItemLabelsVisible(true);
        
        
        
        
        
        
        
        renderer.setSeriesPaint(0, new Color(0, 255, 255));//          
        renderer.setSeriesOutlinePaint(0,Color.green);//     
        renderer.setSeriesPaint(1, new Color(0, 255, 0));//          
        renderer.setSeriesOutlinePaint(1,Color.red);//     
        renderer.setItemMargin(0.1);//          10%
      //        ,           
      
        domainAxis.setTickLabelFont(new Font("  ",Font.PLAIN,15));
        /*------  X      ------------*/
        domainAxis.setLabelFont(new Font("  ",Font.PLAIN,15));        
        /*------  Y       -----------*/
        rangeAxis.setTickLabelFont(new Font("  ",Font.PLAIN,15));
        /*------  Y      ------------*/
        rangeAxis.setLabelFont(new Font("  ",Font.PLAIN,15)); 
        
        
        renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
        renderer.setItemLabelFont(new Font("  ",Font.BOLD,12));//12     
        renderer.setItemLabelPaint(Color.black);//     
        renderer.setItemLabelsVisible(true);
         
        
        
        plot.setRenderer(renderer);//         
        //           
        plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_LEFT);//       (    )   (    )
        plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); //       (    )   (    )
       
        TextTitle textTitle = chart.getTitle();
        textTitle.setFont(new Font("  ", Font.PLAIN, 20));  
        chart.setTitle(textTitle);
        chart.getLegend().setItemFont(new Font("  ", Font.PLAIN, 12));   
        //      
      
        
        
        Shape shape = new Rectangle(20, 10);
        ChartEntity entity = new ChartEntity(shape);
        StandardEntityCollection coll = new StandardEntityCollection();
        coll.add(entity);
        int width = 500;
        int height = 300;
        
        
        
        ChartRenderingInfo info = new ChartRenderingInfo(coll);
        PrintWriter pw = response.getWriter();
      //            ,            ChartRenderingInfo          Map    
//        ChartUtilities.saveChartAsPNG(pw, chart, width, height, info);
   
        
        String filename =    ServletUtilities.saveChartAsPNG(chart, width , height, info, session); 
        ChartUtilities.writeImageMap(pw, filename, info, false);
        
        
        String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
      
        String strimg= ChartUtilities.getImageMap("map0", info);
        

        request.setAttribute("strimg", strimg);
        System.out.println(request.getAttribute("strimg"));
        request.setAttribute("graphURL", graphURL);

        RequestDispatcher dispatcher = request.getRequestDispatcher("/mobile2.jsp");
        dispatcher .forward(request, response); 
もちろんここでxmlの配置が必要です。つまり、上に設計されたgraphh URLです。  部分
以下のように設定します
  <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ページに必要
  <%=request.getAttribute("strimg") %>//              //           ,          
   	<p><img src="${graphURL }" width="500" height="300" border="0" usemap="#map0"> </p>