jsp+vml 实现柱状图、饼图、折线图

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@page pageEncoding="gb2312"%>
<html   xmlns:v="urn:schemas-microsoft-com:vml">  
   
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <meta   name="GENERATOR"   content="Microsoft   FrontPage   4.0">  
  <meta   name="ProgId"   content="FrontPage.Editor.Document">  
  <title></title>  
  <style>v/:*{behavior:url(#default#vml)}/*声明v为vml变量*/</style>  
  </head>  
   
  <body   onload="InitVRML();">  
   
  <script>  
  //模拟数据  
  var   RecordSetArray=new   Array();  
  //模拟记录条数  
  var   iRecordCount=20;  
  for(iIndex=0;iIndex<iRecordCount;iIndex++)  
  {  
    var   UnitArray=new   Array();  
    UnitArray[0]=iIndex;  
    UnitArray[1]=Math.round(Math.random()*1000);  
    RecordSetArray[iIndex]=UnitArray;  
  }  
  //模拟数据Y轴最大值[范围]  
  var   iRecordMaxX=20;//模拟数据X轴最大值[范围]  
  var   iRecordMaxY=1000;//模拟数据Y轴最大值[范围]  
  //坐标系统  
  var   iScreenWidth=400;//真实宽度PX  
  var   iScreenHeight=400;//真实高度PX  
  var   iCoordSizeX=4000;//分隔宽度  
  var   iCoordSizeY=4000;//分隔高度  
  var   iCoordSizeStep=200;//坐标轴与边距  
  var   iRectSize=100;//柱状图柱体宽度  
  var   vGroup=null;//VRML区域  
  function   Line(iRecordCount)  
  {  
    VRMLID.innerHTML="";  
    InitVRML();  
    CoordSize();  
    CoordSizeLine();  
    var   iFromX=iCoordSizeStep;  
    var   iFromY=0;  
    for(iIndex=0;iIndex<iRecordCount;iIndex++)  
    {  
      var   vLine=document.createElement("v:line");  
      vLine.style.left="0";  
      vLine.style.top="0";  
      vLine.from="'"+iFromX+","+iFromY+"'";  
  iFromX=iCoordSizeStep+Math.round(RecordSetArray[iIndex][0]*(iCoordSizeX-iCoordSizeStep)/iRecordMaxX);  
  iFromY=Math.round(RecordSetArray[iIndex][1]*(iCoordSizeY-iCoordSizeStep)/iRecordMaxY);  
      vLine.to="'"+iFromX+","+iFromY+"'";  
      vLine.strokecolor="#000000";  
      vLine.strokeweight="1";  
      vLine.title="模拟数据第"+RecordSetArray[iIndex][0]+"条";  
      //var   vStroke=document.createElement("v:stroke");  
      //vStroke.EndArrow="Classic";  
      //vStroke.StartArrow="Oval";  
      //vLine.appendChild(vStroke);  
      vGroup.appendChild(vLine);  
    }    
  }  
  function   Circle(iRecordCount)  
  {  
    VRMLID.innerHTML="";  
    InitVRML();  
    var   varMax=Math.pow(2,16)*360;  
    var   vTotal=1;  
    var   vStartAngle=0;  
    var   vEndAngle=0;  
    var   vPreAngle=0;  
    for(kIndex=0;kIndex<iRecordCount;kIndex++)  
    {  
      vTotal+=RecordSetArray[kIndex][1];  
    }  
    for(iIndex=0;iIndex<iRecordCount;iIndex++)  
    {  
      var   vShape=document.createElement("v:shape");      
      vStartAngle+=vPreAngle;  
      vPreAngle=RecordSetArray[iIndex][1]/vTotal;  
                    vEndAngle=RecordSetArray[iIndex][1]/vTotal;  
   
      vShape.style.width=iCoordSizeX-2*iCoordSizeStep;  
      vShape.style.height=iCoordSizeY-2*iCoordSizeStep;  
      vShape.style.top=iCoordSizeStep;  
      vShape.style.left=iCoordSizeStep;  
      vShape.strokecolor="black";  
      vShape.fillcolor=RandColor();  
   
                    vShape.path="M   2000   2000   AE   2000   2000   2000   2000   "+parseInt(varMax*vStartAngle)+"   "+parseInt(varMax*vEndAngle)+"   xe";  
      vShape.title="第"+RecordSetArray[iIndex][0]+"块";  
      vShape._scale=parseInt(360*(vStartAngle+vEndAngle/2));  
      vGroup.appendChild(vShape);  
    }  
  }  
  function   Bar(iRecordCount)  
  {  
    VRMLID.innerHTML="";  
    InitVRML();  
    CoordSize();  
    CoordSizeLine();  
    var   iStep=Math.round(iCoordSizeX/iRecordCount);  
    for(iIndex=1;iIndex<iRecordCount;iIndex++)  
    {  
      var   iRnd=Math.round(Math.random()*(iCoordSizeY-iCoordSizeStep));  
      var   vRect=document.createElement("v:rect");  
      vRect.style.left=iStep*iIndex;  
      vRect.style.top=(iCoordSizeY-iCoordSizeStep)-Math.round(RecordSetArray[iIndex][1]*(iCoordSizeY-iCoordSizeStep)/iRecordMaxY);  
      vRect.style.width=iRectSize;  
      vRect.style.height=Math.round(RecordSetArray[iIndex][1]*(iCoordSizeY-iCoordSizeStep)/iRecordMaxY);  
      vRect.fillColor="#EEEEEE";  
      vRect.title="模拟数据第"+RecordSetArray[iIndex][0]+"条的Y轴图示";  
      vGroup.appendChild(vRect);  
    }  
  }  
  function   DrawLinesX(iMaxX,Object)  
  {  
    var   iStep=Math.round(iCoordSizeX/iMaxX);  
    for(var   iIndex=1;iIndex<=iMaxX;iIndex++)  
    {  
      var   vLine=document.createElement("v:line");  
      vLine.from=iStep*iIndex+","+(iCoordSizeY-iCoordSizeStep);  
      vLine.to=iStep*iIndex+","+(iCoordSizeY-Math.round(iCoordSizeStep/2));  
      var   vStroke=document.createElement("v:stroke");  
      vStroke.endArrow="Diamond";  
      vStroke.dashStyle="dot";  
      vLine.appendChild(vStroke);  
      Object.appendChild(vLine);  
    }  
  }  
  function   DrawLinesY(iMaxY,Object)  
  {  
    var   iStep=Math.round(iCoordSizeY/iMaxY);  
    for(var   iIndex=0;iIndex<iMaxY;iIndex++)  
    {  
      var   vLine=document.createElement("v:line");  
      vLine.from=iCoordSizeStep+","+iStep*iIndex;  
      vLine.to=Math.round(iCoordSizeStep/2)+","+iStep*iIndex;  
      var   vStroke=document.createElement("v:stroke");  
      vStroke.endArrow="Diamond";  
      vStroke.dashStyle="dot";  
      vLine.appendChild(vStroke);  
      Object.appendChild(vLine);  
    }  
  }  
  function   InitVRML()  
  {  
    VRMLID.innerHTML="";  
    vGroup=document.createElement("v:group");  
    vGroup.style.width=iScreenWidth+"px";  
    vGroup.style.height=iScreenHeight+"px";  
    vGroup.coordsize=iCoordSizeX+","+iCoordSizeY;  
     
    var   vRect=document.createElement("v:rect");  
    vRect.style.width=iCoordSizeX+"px";  
    vRect.style.height=iCoordSizeY+"px";  
    vRect.fillColor="#FFFFFF";  
    vRect.strokeColor="#000000";  
    var   vShadow=document.createElement("v:shadow");  
    vShadow.on="true";  
    vShadow.type="single";  
    vShadow.color="silver";  
    vShadow.offset="5pt,5pt";  
    vRect.appendChild(vShadow);  
    vGroup.appendChild(vRect);  
   
    VRMLID.appendChild(vGroup);  
  }  
  function   CoordSize()  
  {  
    var   vLineX=document.createElement("v:line");  
    vLineX.from=iCoordSizeStep+","+iCoordSizeStep;  
    vLineX.to=iCoordSizeStep+","+(iCoordSizeY-iCoordSizeStep);  
    var   vStrokeX=document.createElement("v:stroke");  
    vStrokeX.startArrow="classic";  
    vStrokeX.endArrow="oval";  
    vStrokeX.dashStyle="single";  
    vLineX.appendChild(vStrokeX);  
    vGroup.appendChild(vLineX);  
   
    var   vLineY=document.createElement("v:line");  
    vLineY.from=iCoordSizeStep+","+(iCoordSizeY-iCoordSizeStep);  
    vLineY.to=(iCoordSizeX-iCoordSizeStep)+","+(iCoordSizeY-iCoordSizeStep);  
    var   vStrokeY=document.createElement("v:stroke");  
    vStrokeY.startArrow="oval";  
    vStrokeY.endArrow="classic";  
    vStrokeY.dashStyle="single";  
    vLineY.appendChild(vStrokeY);  
    vGroup.appendChild(vLineY);  
  }  
  function   CoordSizeLine()  
  {  
    DrawLinesX(RecordSetArray.length,vGroup);  
    DrawLinesY(RecordSetArray.length,vGroup);  
  }  
  function   RandColor()  
  {  
    return   "rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")";  
  }  
  function   Zoom(iValue)  
  {  
    var   varX=4000;  
    var   varY=4000;  
    vGroup.coordsize=parseInt(varX/iValue)+","+parseInt(varY/iValue);  
  }  
  </script>  
  <center>  
  <input   type="button"   value="初始设置"   onclick="InitVRML();">  
  <input   type="button"   value="柱状图"   onclick="Bar(RecordSetArray.length);">  
  <input   type="button"   value="饼图"   onclick="Circle(RecordSetArray.length);">  
  <input   type="button"   value="折线图"   onclick="Line(RecordSetArray.length)">  
  <select   onchange="Zoom(this.value)">  
      <option   value="0.2"   selected>20%</option>  
      <option   value="0.25">25%</option>  
      <option   value="0.4">40%</option>  
      <option   value="0.5">50%</option>  
      <option   value="0.75">75%</option>  
      <option   value="0.8">80%</option>  
      <option   value="1">原始大小</option>  
      <option   value="1.25">125%</option>  
      <option   value="1.5">150%</option>  
      <option   value="2">200%</option>  
      <option   value="3">300%</option>  
      <option   value="4">400%</option>  
  </select>  
  <br>  
  <br>  
  <div   id=VRMLID></div>  
  </center>  
  </body>  
   
  </html>

jsp实现打印柱状图 用java+jsp实现分类汇总的打印柱状图. 立即下载

相关推荐

JSP+JFreeChart 实现曲线图、柱形图

JSP+JFreeChart 实现曲线图、柱形图

Web在jsp页面中生成柱状图,折线图,饼状图

一、前言 在实际开发过程中,柱状图,折线图,饼状图在一些OA,ERP中是非常常见的功能,特别是需求需求方是业务型,数据分析型公司,下面的例子简单实现了饼状图,柱状图,折线图在jsp中生成。(ps:新手上路,不喜勿喷) 二、前期准备 1.使用的框架:ssm(这里不再配置); 2.需要的第三方包:jfreechart.jar和jcommon.jar 三、配置文件的操作 web.xml:在we

Cp3_zmx的博客 2万+

利用JFreeChart实现Java中饼状图、柱状图等图表并在Jsp中显示

本例是利用myEclipse + tomcat编译运行的,利用JfreeChart(从网上可下载的java的Jar包)编写的将数据以柱状图、饼状图等图表的形式显示在Jsp页面中

jsp怎么做柱状图_用jsp怎样生成柱状图,饼状图,折线图

展开全部jsp生成柱状图,饼状图,折线图可以32313133353236313431303231363533e59b9ee7ad9431333339663338借助于jfreechart。1、柱状图的生成源码:/***生产柱状图*@version1.0*@since*/@SuppressWarnings("serial")publicclassPillarServletextends...

weixin_35715335的博客 2817

在网页中利用VML画图

在web页面通过vml画图,如显示cpu使用率,内存使用率等等,动态绘制曲线和图形

VML(js封装类 统计图代码)

由于VML使用简单的文本来表示图像,这样就可用很少的字节来表示比较复杂的图像。VML与HTML兼容,通过在HTML中声明VML命名空间并声明处理函数,就可以和其他HTML元素一样使用VML元素,在客户端浏览器显示图像。 在此,将制作统计图的VML代码做成js类。供大家调用和参考。

jsp 柱状图

统计柱状图 <% String title=new String(request.getParameter("title").getBytes("iso8859-1"),"gb2312"); String para1=request.getParameter("pa

lijiemissfei的专栏 1471

Super4PCS文章阅读笔记

Super4PCS阅读笔记 Super4PCS阅读笔记 前言 前言 今天给大家分享一下点云配准四点法4PCS0的变种——Super4PCS。此算法的原文在:Super4PCS: Fast Global Pointcloud Registration via Smart Indexing。稍微我也会写一篇关于如何使用这篇文章的里所提供的代码进行点云粗配准。关于四点法...

Vodake的博客 4539

Jsp柱状图显示

1.在 Jsp页面显示 数据的的 柱状图,        使用百度的 插件:Echarts --                             就在 先在 页面 引入  echarts.js文件                     // 路径配置         require.config({             paths: {

sinat_肖旭东的博客 4239

【NLP】文献翻译4——CH-SIMS:中文多模态情感分析数据集与细粒度的模态注释

CH-SIMS: A Chinese Multimodal Sentiment Analysis Dataset with Fine-grained Annotations of Modality摘要1. 介绍2. 相关工作2.1 多模态数据集2.2 多模态情感分析2.3 多任务学习3. CH-SIMS 数据集3.1 数据获取3.2 标注3.3 特征提取4. 多模式多任务学习框架4.1 单模态子网4.2 特征融合网络4.3 优化目标5. 实验5.1 基准5.2 实验的细节5.3 结果和讨论5.3.1 与

YoungSeng's Blog 1万+

爬取百度图片

最开始,我们想要爬取图片,首先需要打开百度图库,然后在搜索栏中输入自己想要的图片(比如说壁纸)。接着右键检查,点击网络:起初可能没有名称信息,刷新界面就可以了。打开信息,查看标头内容可以看到请求URL为:复制这串URL,然后在浏览器中打开这个就是我们搜索的壁纸图片的网页内容。怎么找到图片的URL呢?在上述内容中,找到data,可以发现里面每隔一个aiEditData,下面代码的形式是一样的,就相当于一张图片。

weixin_54143563的博客 1942

FusionCharts 学习

去年有好几个项目需要用到图表显示, 原打算使用JFreeChart的, 但感觉其在外观展示与交互性方面都不如一些Flash Chart来得酷, 在网上搜索相关资料时候发现很多人推荐FusionCharts, 自己看了一下效果, 确实挺不错的. 也考虑过使用VML来实现统计图表的显示, 就像我在上一篇博文Web开发系列 - VML介绍VML中所说, VML仅限于IE浏览器, 最终还是决定使用Fu

幸福的草籽 1088

知识图谱本体建模之RDF、RDFS、OWL详解

(一)知识图谱本体建模之RDF、RDFS、OWL详解 1.语义网体系 知识图谱于2012年由Google提出,并不是新概念,而是由语义网络(Semantic Network)衍生而来。语义网络由相互连接的节点和边组成,节点表示概念或者对象,边表示他们之间的关系。RDF,RDFS与OWL都是基于语义网的知识表示框架,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。RDF,RDFS/OWL 属于语义网技术栈,它们的提出,使得语义网克服了语义网络的缺点。其语义网技术栈如下所示。 2.RD

周周的专栏 1万+

使用JfreeChart开发图表经验总结

生成基于浏览器的图表方式比较多。据我所知道的,常用的有三种:1、      VML方式实现。这种方式是通过产生客户端的代码,由客户端根据代码生成相应的图表。但这种方式产生的图表有很多的局限性,如受限于浏览器,有些浏览器可能并不支持VML。另外,没有封装完整的图表开发包。2、      通过applet来产生图表。这种方式也对客户端要求比较高,必须要有JRE,而且通过applet生成的图表在

吴志明的个人开发技术积累专栏 1260

压电阀控制器设计-总章

本文章用于回顾记录本人制作压电阀控制器的关键技术,本人所制作压电阀控制器已经上市得到应用,特在此对一些关键技术进行回顾记录,欢迎从事压电控制及压电阀相关人员一起讨论

qq_42712859的博客 849

高分影像批处理第三回——RPC文件与几何校正

前言 前面两章部分完成了图像的基本组织和大气校正,可是对于遥感影像地理相关数据,精确的地理坐标也是非常关键的。L1级数据,可惜,并没有帮我们处理地理坐标系统。无论是打开ENVI还是用gdal工具查看图像元数据,其坐标系统都是错误的或者说是未读入的。因此本章节来解决这个问题。

weixin_43762038的博客 1万+

【jQuery】兼容IE6的图表插件Highcharts

在网页中有时候需要画出统计图,尤其是一些OA系统中,这样能够给各位看官一个直观的数据显示。图表用很多东西都能画出来,比如JSP可以利用JAVA本身就有的绘图函数,php有jpgraph插件,具体请看《【php】使用jpgraph完成投票系统的普通用户部分》(点击打开链接),等等,但毕竟属于现实层的内容,还是用前端插件更好一点。网上的JavaScript/jQuery图标插件到处东西,但是试过JS

编程记录,亲测有效 5008

PySide6 vs PyQt6:新手如何根据Python版本选择GUI库?附版本兼容性测试

本文针对Python GUI开发新手,详细对比了PySide6与PyQt6的核心差异,并提供了基于Python 3.8至3.12等不同版本的兼容性实测数据与选择建议。文章重点分析了版本选择策略,帮助开发者根据自身Python环境、项目需求(如与matplotlib集成)及许可证考量,做出最合适的决策,并附有安装验证与避坑指南。

weixin_29094539的博客 703

【转】JSP柱状图

一 最简单的例子为了降低门槛,让大家心理有个底,先介绍一个简单的不能再简单的例子,图片中的各类属性都采用默认值。                   org.jfree.chart.JFreeChart,                 org.jfree.chart.plot.PlotOrientation,                 org.jfree.chart.servl

Darren的专栏 4111

AI视频生成工作流开发:从产品拆解到带货视频全流程实现

本文介绍了一套完整的AI视频生成工作流开发方案,该系统能够自动分析产品素材并生成9个标准化分镜,支持白底图智能替换,最终输出专业带货视频。系统基于Coze平台搭建,整合豆包大模型及多模态生成模型,实现从产品分析、脚本生成到视频合成的全流程自动化。关键模块包括产品特征提取、智能分镜分配、视觉内容生成和用户交互调整,支持手动优化提示词和输出结果。该方案采用模块化设计,结合多种AI模型协同工作,为电商视频制作提供高效解决方案。

huanghm88的专栏 384

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jsp怎么做柱状图_jFreeChart 在jsp页上实现简单的折线图、柱状图

可参考资料与网址官方网站官方论坛API 文档中文API创建柱状图1 引入jFreechart的包 :jcommon-1.0.15.jar 、jfreechart-1.0.12.jar2 在web.xml中加入XML codeDisplayChartorg.jfree.chart.servlet.DisplayChartDisplayChart/servlet/DisplayChart3 在jsp或...

weixin_40002238的博客 382

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jsp怎么做柱状图_jsp圆饼图与柱状图代码

圆饼图与柱状图1、圆饼图代码:pagelanguage="java"import="java.util.*"pageEncoding="GB18030"%>pageimport="org.jfree.data.general.DefaultPieDataset"%>pageimport="org.jfree.chart.*"%>pageimport="org.jfree.char...

weixin_39651735的博客 490

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jsp怎么做柱状图_js实现柱状图

怎样实现柱状图每个柱子显示不一样的文字(js)你得先获取到节点,然后再修改里面的内容。js中charts中怎么设置在柱状图上方显示对应的数值?我在label中设置了显示,最后图形上方还是没有数据,CSS布局HTML小编今天和大家分享大神帮帮忙 var M itemStyle: { normal: { label: { show: true, //开启显示 position: 'top', //在上...

weixin_42339759的博客 2107

JSP经典总结图表

jsp指令表 属    性 描    述 默  认  值 例    子 language 定义要使用的脚本语言,目前只能是"java" "java" language="java" import 和一般的Java import意义一样,只 能是","隔开包或者类列表 默认忽略(即不引入其 ...

聞人听書的博客 1121
上一篇: 食品杂谈
下一篇: Struts构架中action的跳转大全
yfly13
博客等级 码龄18年 22粉丝 55原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值