`

JFreeChart-3D柱状图

阅读更多

package com.zbht.util;

import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;

import javax.servlet.http.HttpSession;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.labels.StandardXYToolTipGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.time.Day;
import org.jfree.data.time.Month;
import org.jfree.data.time.Year;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.RectangleInsets;
import org.jfree.ui.TextAnchor;

import com.zbht.db.oracle.TBManager;


public class ColumnChart {
 
    public String getLineXYChart(HttpSession session, PrintWriter pw,Connection conn,String accident_id) throws IOException
    {
     DefaultCategoryDataset dataset = this.createDateSet(conn,accident_id);
     String filename = "";
     JFreeChart chart = ChartFactory.createBarChart3D("应急资源统计图",
                       "应急资源",
                       "资源数量",
                       dataset,
                       PlotOrientation.VERTICAL,
                       false,
                       false,
                       false);
     CategoryPlot plot = chart.getCategoryPlot();  
     CategoryAxis domainAxis = plot.getDomainAxis();  
     domainAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45); 
     BarRenderer3D renderer=(BarRenderer3D) plot.getRenderer();
     
      //设置不能在柱子上正常显示的那些数值的显示方式,将这些数值显示在柱子外面
        ItemLabelPosition itemLabelPositionFallback=new ItemLabelPosition(
        ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_CENTER,
        TextAnchor.TOP_CENTER,0D);
        renderer.setPositiveItemLabelPositionFallback(itemLabelPositionFallback);
        renderer.setNegativeItemLabelPositionFallback(itemLabelPositionFallback);
       
     renderer.setBaseItemLabelGenerator(new   StandardCategoryItemLabelGenerator());  
        renderer.setItemLabelFont(new   Font("黑体",   Font.PLAIN,   12));


     renderer.setItemLabelsVisible(true);
     plot.setRenderer(renderer);

       
        ChartRenderingInfo info = new ChartRenderingInfo(
                new StandardEntityCollection());
        try
        {
            filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info,
                    session);//生成图片
//          Write the image map to the PrintWriter
            ChartUtilities.writeImageMap(pw, filename, info, false);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        pw.flush();
        return filename;//返回生成图片的文件名
     
     
    }

  
    private DefaultCategoryDataset createDateSet(Connection conn,String accident_id)
    {
     System.out.println("dateSet_ACCIDENT_ID:"+accident_id);
        //显示折线图数据sql语句
     String selectSQL1 = "Select *  from V_RESOURCE_EXPERT where ACCIDENT_ID = "+ accident_id ;
     String selectSQL2 = "Select *  from V_RESOURCE_TEAM where ACCIDENT_ID = "+ accident_id ;
     String selectSQL3 = "Select *  from V_RESOURCE_STAFF where ACCIDENT_ID = "+ accident_id ;
     String selectSQL4 = "Select *  from V_ACC_RES_DISPATCH_RESOURCE_EQUIPMENT where ACCIDENT_ID = "+ accident_id ;
     String selectSQL5 = "Select *  from V_ACC_RES_DISPATCH_RESOURCE_KIT where ACCIDENT_ID = "+ accident_id ;
     String selectSQL6 = "Select *  from V_ACC_RES_DISPATCH_SHELTER where ACCIDENT_ID = "+ accident_id ;
     int exp_int = 0;
     int tem_int = 0;
     int staff_int = 0;
     int equipment_int = 0;
     int kit_int = 0;
     int shelter_int = 0;
     
     String[] tempArry = new   String[]{"应急专家","救援队伍","应急人员","应急资源","资源套件","避险中心"};    ;
     HashMap lhmm = new HashMap();
     try {
      exp_int = TBManager.getRsCount(selectSQL1, conn);
      lhmm.put("应急专家", Integer.valueOf(exp_int));
      tem_int = TBManager.getRsCount(selectSQL2, conn);
      lhmm.put("救援队伍", Integer.valueOf(tem_int));
      staff_int = TBManager.getRsCount(selectSQL3, conn);
      lhmm.put("应急人员", Integer.valueOf(staff_int));
      equipment_int = TBManager.getRsCount(selectSQL4, conn);
      lhmm.put("应急资源", Integer.valueOf(equipment_int));
      kit_int = TBManager.getRsCount(selectSQL5, conn);
      lhmm.put("资源套件", Integer.valueOf(kit_int));
      shelter_int = TBManager.getRsCount(selectSQL6, conn);
      lhmm.put("避险中心", Integer.valueOf(shelter_int));
      
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
       
     for( int i= 0 ; i < tempArry.length ; i++ ){
       int tempint= ((Integer)lhmm.get(tempArry[i])).intValue();
       dataset.addValue(tempint, "", tempArry[i].toString());
    }
     
        return dataset;
    }


}

分享到:
评论

相关推荐

    JFreeChart生成3D饼状图及柱状图

    JFreeChart生成3D饼状图及柱状图,可把图片生成在指定文件目录下

    JFreeChart画图 饼状图 单组柱状图 多组柱状图 堆积柱状图 折线图

    JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...

    jfreechart-1.0.19.jar和jcommon-1.0.23.jar

    bar charts (regular and stacked, with an optional 3D effect):柱状图 line and area charts:曲线图 scatter plots and bubble charts time series, high/low/open/close charts and candle st

    JFreeChart与Struts结合的例子生成多维3D柱状图

    JFreeChart与Struts结合生成多维3D柱状图的实例 report.jsp -- JSP文件 ReportAction.java -- Action类 JFreeChartUtils.java -- 工具类

    jfreechart 曲线图 3d饼图 3d柱状图

    jfreechart 曲线图 3d饼图 3d柱状图 代码,以及生成的图样,还有需要的包也一并上传,希望对大家有用处

    JFreeChart编写柱状图和饼状图及3D饼状图方法

    java的JFreeChart编写柱状图和饼状图及3D饼状图方法

    JfreeChart 3D 绘图

    JfreeChart 3D 绘图 柱状图,线形图 3D

    jfreechart生成单组3D变色柱状图

    生成3D单组柱状图或多组柱状图,单组柱状图没组颜色不一样。这个东西写了挺久,代码没有好好整理,仅供参考。

    java使用JFreeChart制作柱形图

    将数据库中的数据以柱形图的形式显示出来,该例子中显示的是3D形式的柱形图,可以根据需要自行更改柱形图的样式。同时柱形图不是生成图片,而是直接显示在页面上。

    jfreechart-1.0.13

    JFreeChart chart = ChartFactory.createBarChart3D("水果销量统计图", //建立3D柱状图 "水果",//横轴名称 "销量",//纵轴名称 dataset,//数据集 PlotOrientation.VERTICAL,//纵向显示 true,//显示每个颜色柱子...

    yujianbo-java-tools-7.8.0.jar

    更新详情:增加了借助jfreechart生成的图表,包括饼状图(2D/3D),柱状图(2D/3D),折线图,雷达图等图表。 yujianbo-java-tools.jar是本人平时里用到的工具类,分离出来打包成一个单独的jar工具包,里面包括: 1...

    JFreeChart 实现无乱码的柱状图和饼状图实例

    JFreeChart java 类实现无乱码的柱状图和饼状图实例,同时显示在jsp界面中的方法

    SpringMVC JfreeChart DEMO

    基于spring + JFREECHART DEMO 实现 柱状图 、饼图、折线图、仪表图 支持3D效果 访问路径:如下 http://127.0.0.1/springMvcDemo/bhCdmaShowBar3D

    JFreeChart实例

    JFreeChart实例,在struts 2中实现柱状图、柱状图3D、饼状图、饼状图3D、折线图、折线图3D

    jsp柱状报表图的实现

    最近研究统计与报表的实现,在网上查了一下,主流的是一个叫做jfreechart的插件,学习了一下,实现了柱状图报表,是3D效果的。

    jfreechart帮助文档API

    bar charts (regular and stacked, with an optional 3D effect):柱状图 line and area charts:曲线图 scatter plots and bubble charts time series, high/low/open/close charts and candle stick charts...

    JFreeChart生成报表Demo案例

    JFreeChart生成报表Demo案例,包含生产饼状图(3D效果),柱状图(3D效果),折现图等(3D效果)。及其所需的Jar包。

    jfreechart插件

    bar charts (regular and stacked, with an optional 3D effect) :柱状图 line and area charts :曲线图 scatter plots and bubble charts time series, high/low/open/close charts and candle stick ...

    STRUTS2结合jfreechart详细例子

    STRUTS2结合jfreechart例子(饼图,3D饼图,柱状图,3D柱,线形图)等等,一个例子全部上手。

Global site tag (gtag.js) - Google Analytics