`

jfreechart 柱状图示例- 3D效果

 
阅读更多
/**
   *
   *<p>Title: geCustomeCurrentFee</p>
   *<p>Description:TODO 得到当前话费</p>
   * @param @param mobileTeleNo
   * @param @return 设定文件
   * @return String 返回类型
   * @throws
   */
  public  String getTopWorkSummaryData(){
  String mobileTeleNo=HttpUtil.getParameter("mobileTeleNo");
   HttpServletResponse response= ServletActionContext.getResponse();
   HttpServletRequest request = ServletActionContext.getRequest();
   HttpSession session = request.getSession();
    response.setContentType("text/html; charset=GBK");
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
  try{
   if(LoginUtil.getUserInfo()==null){
                logger.debug("Session已失效!");
                PrintWriter writer= response.getWriter();
                writer.print("Session已失效,请重新登陆!");
                response.flushBuffer();
                return null;
            }
     try{
   session.removeAttribute("JFreeChart_Deleter");
   JFreeChart chart = createTopWorkSummaryDataChart(mobileTeleNo);   
  String filename = ServletUtilities.saveChartAsPNG(chart, 265, 180, null, session);//宽度,长度
  String graphURL = graphURL = request.getContextPath()+ "/servlet/DisplayChart?filename=" + filename;
  PrintWriter writer= response.getWriter();
            writer.print(graphURL);
            response.flushBuffer();
} catch (IOException e1) {
       logger.error(e1.getMessage());
return "";
}
     }catch(Exception e){
            try {
            PrintWriter writer= response.getWriter();
            writer.print("保存数据失败!");
response.flushBuffer();
return null;
} catch (IOException e1) {
logger.error(e.getMessage());
return "";
}
          
}
     return null;  
   }
 
   private JFreeChart createTopWorkSummaryDataChart(String mobileTeleNo) throws Exception{
JFreeChart chart = null;
DefaultCategoryDataset dataset = this.createTopWorkSummaryData(mobileTeleNo);
if(dataset != null){
    chart = ChartFactory.createBarChart3D("", "", "", dataset, PlotOrientation.VERTICAL,  true, false, false); 
chart.setBackgroundPaint(Color.WHITE); 
chart.setBackgroundImageAlpha(0.9f);
CategoryPlot plot = chart.getCategoryPlot(); 


/*
ValueAxis   rangeAxis   =   plot.getRangeAxis();
//设置最高的一个   Item   与图片顶端的距离
rangeAxis.setUpperMargin(0.35);
//设置最低的一个   Item   与图片底端的距离
rangeAxis.setLowerMargin(0.45);
//设置Y轴的最小值
//rangeAxis.setLowerBound(0);
//设置Y轴的最大值
// rangeAxis.setUpperBound(800); */
CategoryAxis domainAxis = plot.getDomainAxis(); 
domainAxis.setAxisLineVisible(false); 
NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("黑体", Font.PLAIN, 20));
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
plot.setDomainAxis(domainAxis); 
BarRenderer3D renderer = new BarRenderer3D();

renderer.setBaseOutlinePaint(Color.WHITE);
// 显示每个柱的数值,并修改该数值的字体属性 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 
// 设置每个地区所包含的平行柱的之间距离 
renderer.setItemMargin(0.1); 
// 设置柱的数值可见
renderer.setBaseItemLabelsVisible(true);
// 显示每个柱的数值,并修改该数值的字体属性 
   renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 
renderer.setItemLabelsVisible(true); 
renderer.setShadowVisible(false);
plot.setRenderer(renderer); 
// 设置柱的透明度 
plot.setForegroundAlpha(0.8f); 
}
return chart;
}

  private  DefaultCategoryDataset createTopWorkSummaryData(String mobileTeleNo) throws Exception {
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    InitiaWorkbenchManager workbenchManager=(InitiaWorkbenchManager)DefaultBeanFactory.getBean(InitiaWorkbenchManager.BEAN_NAME);
String[] results=new String[]{"AGREE"};
List<AgentWorkCountBean>  gentWorkCountList=workbenchManager.queryTopWorkSummary(results,5);
if(!gentWorkCountList.isEmpty()&&gentWorkCountList.size()>0){
for(int i=0;i<gentWorkCountList.size();i++){
AgentWorkCountBean bean=gentWorkCountList.get(i);
String userCode=gentWorkCountList.get(i).getUserCode();
String userName=userCode+"["+UserCacheUtil.getUserName(userCode)+("]");
int agreeCount=gentWorkCountList.get(i).getAgreeCount();
   
         dataset.addValue(agreeCount, userName, userCode);
    }
    
}
return dataset;
  }
分享到:
评论

相关推荐

    使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP

    虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西! 这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下!

    jfreechart 折线图、饼状图、柱状图

    jfreechart 折线图、饼状图、柱状图在web页面上的应用,自己在网上找到点资料,然后写了个示例。 导入的myeclipse中部署即可。

    JFreeChart代码示例及jar包

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联

    java实现向word文档中插入柱状图,并更改颜色

    java实现向word文档中插入柱状图,并更改颜色。 将docx转化为xml文件在进行操作

    jfreechart图表的完整工程例子(含中文乱码处理和百分比)

    jfreechart图表的完整工程例子(含中文乱码处理和百分比),里面有饼图和柱状图的示例,加有注释,并解决了中文乱码显示问题,和饼图中百分比问题

    Freemarker导出word示例,包括jfreechart图表

    通过freemarker,实现word模板中占位符的赋值以及赋值后的word文档生成。通过jfreechart生成柱状图和饼图,并在word文档中显示。

    饼形图、柱形图实例 jfreechart (Java)

    jfreechart的饼形图、柱形图实例 解决jfreechart中的乱码问题

    jfreechart-1.0.15

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...

    JfreeChart Demo示例包括所需架包

    JfreeChart Demo示例,其中示例分别实现了,柱状图和饼图,而至于在Jsp页面中显示出对应生成的图片还在学习中,即将放送。

    jfreechart

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...

    JFreeChart图表绘制源码

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、 散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生 PNG和JPEG格式的输出,还可以与PDF和EXCEL...

    jfreechart示例

    本示例是过去接触jfreechart时查找的资料。原著的地址忘记了,先在此表示感谢。个人觉得这个示例写得不错。注释比较详细。对初次接触jfreechart的人很有帮助。本例只是jfreechart比较简单的应用,可以帮助理解思想。...

    jfreechart资料

    jfreechart示例,可直接引入项目,适合初次接触jfreechar的朋友,可生成柱状图,饼状图,折线图

    JFreeChart 例子 源码 demo

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。

    struts2和jfreechart集成的一个小示例

    struts2和jfreechart集成的一个小示例,带jar包,部署起来就可以运行。例子中演示了一个生成柱状图的方法。

    struts2 jfreechart 即时曲线图

    tomcat运行后可看到简单的饼形图和柱状图。运行DemoTest/RealTimeChart可看到即时曲线图示例。本来这些应资源共享,可下载别人好东西时需要积分,所以设置为1分。希望大家可以互相交流java技术!

    JFreeChart基本使用及学习文档

    JFreeChart基本使用及学习文档,包含了柱状图、饼状图、曲线图统计的例子。适合简单使用和初期学习,最后一句建议,在web展示图片的时候注意客户单IE缓存的问题。

Global site tag (gtag.js) - Google Analytics