Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 322|回复: 0

[jsp学习]JFreeChart生成柱状图

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-1 02:55:19 | 显示全部楼层 |阅读模式
    <%@ page contentType="text/HTML;charset=GBK"%>
    <%@ page import="java.awt.Color,
              java.awt.Font,
              org.jfree.chart.ChartFactory,
              org.jfree.chart.JFreeChart,
              org.jfree.chart.plot.PlotOrientation,
              org.jfree.chart.Servlet.ServletUtilities,
              org.jfree.data.CategoryDataset,
              org.jfree.data.DatasetUtilities,
              org.jfree.chart.plot.CategoryPlot,
              org.jfree.chart.axis.CategoryAxis,
              org.jfree.chart.axis.ValueAxis,
              org.jfree.chart.renderer.BarRenderer3D,
        org.jfree.chart.labels.StandardCategoryItemLabelGenerator,
              org.jfree.chart.axis.AxisLocation"%>
    <%  
      
       
       
       

       
      
    ??
       double[][] data = new double[][] {{672, 766, 223, 540, 126},{325, 521, 210, 340, 106},{332, 256, 523, 240, 526}};
       String[] rowKeys = {"苹果","梨子","葡萄"};
       String[] columnKeys = {"北京","上海","广州","成都","深圳"};
       CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);

       JFreeChart chart = ChartFactory.createBarChart3D("水果销量图统计",
                       null,
                       null,
                       dataset,
                       PlotOrientation.VERTICAL,
                       true,false,false);
       chart.setBackgroundPaint(Color.WHITE);
       CategoryPlot plot = chart.getCategoryPlot();

       CategoryAxis domainAxis = plot.getDomainAxis();
       domainAxis.setVerticalCategoryLabels(false);
       plot.setDomainAxis(domainAxis);

       ValueAxis rangeAxis = plot.getRangeAxis();
       //设置最高的一个 Item 与图片顶端的距离
       rangeAxis.setUpperMargin(0.15);
       //设置最低的一个 Item 与图片底端的距离
       rangeAxis.setLowerMargin(0.15);
       plot.setRangeAxis(rangeAxis);

       BarRenderer3D renderer = new BarRenderer3D();
       renderer.setBaseOutlinePaint(Color.BLACK);
       //设置 Wall 的颜色
       renderer.setWallPaint(Color.gray);
       //设置每种水果代表的柱的颜色
       renderer.setSeriesPaint(0, new Color(0, 0, 255));
       renderer.setSeriesPaint(1, new Color(0, 100, 255));
       renderer.setSeriesPaint(2, Color.GREEN);
       //设置每个地区所包含的平行柱的之间距离
       renderer.setItemMargin(0.1);
       //显示每个柱的数值,并修改该数值的字体属性
       renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
       renderer.setItemLabelsVisible(true);
       plot.setRenderer(renderer);

       //设置柱的透明度
       plot.setForegroundAlpha(0.6f);
       //设置地区、销量的显示位置
       plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
       plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);

       String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
       String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
    %>
    <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">


      

      
      
       
       

         
       

         
       
      



    源码下载:http://file.javaxxz.com/2014/10/1/025519266.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-29 02:41 , Processed in 0.420090 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表