CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

asp 画图??急!!!!

楼主csdnyong(命运)2002-08-21 17:39:31 在 Web 开发 / ASP 提问

比如我要统计   2002年8月的某几种商品销售量的曲线图  
  纵坐标为每天的销售量  
  横坐标为天数比如:   1   2   3   4   5   6.....31  
  数据要从数据库中得到    
   
  在一张图中同时显示3条曲线表示不同商品     曲线或柱状图  
   
   
  谢谢!!1  
   
  问题点数:100、回复次数:20Top

1 楼CSDNHelper(CSDN 论坛助手)回复于 2002-08-21 17:46:27 得分 0

看看csdn的调查,和投票的代码  
  首页有投票的入口。投了xml就可以看到了。  
  :)  
  Top

2 楼Dreamforge(守望爱情的孤独)回复于 2002-08-21 17:58:35 得分 0

实现ASP图形报表的方法有很多种:  
  1、MSChart控件。(如CSDN的调查系统,需要客户端安装MSChart,使用起来十分麻烦。)  
  2、ASPChart等组件。(国外十分流行,不过要交钱的,对我们这种免费自由万岁的人来说,不划算也不舍得。)  
  3、OWC控件。(Office   Web   components)不但功能强大,而且是完全免费的,值得推荐!我就是用这个来实现包括曲线图、饼图等十几种实时在线图表的。  
  Top

3 楼csdnyong(命运)回复于 2002-08-21 18:07:02 得分 0

则么得到  
  请问您   有没有例子Top

4 楼Dreamforge(守望爱情的孤独)回复于 2002-08-21 18:12:18 得分 0

使用OWC控件只需要在服务器端安装。取得数据记录后通过OWC生成临时image文件,再把image文件传回客户端,就实现客户端无要求显示图表。  
  具体的方法,你可以查找相关的资料。  
  或者等我整理出来后,贴上来。。Top

5 楼Dreamforge(守望爱情的孤独)回复于 2002-08-21 18:32:15 得分 0

chart.asp  
  <%  
  Function   ExportChartToGIF(cspace)  
  Dim   fso    
  Dim   sFilePath    
  Dim   sFileName    
   
  '生成临时文件的文件名  
  set   fso   =   CreateObject("Scripting.FileSystemObject")  
  sFilePath   =   Request.ServerVariables("PATH_TRANSLATED")  
  sFilePath   =   left(sFilePath,   InStrRev(sFilePath,   "\"))  
  sFilePath   =   sFilePath   &   "tmp\"  
  sFileName   =   fso.GetTempName()  
  sFileName   =   sFileName   &   ".gif"  
  set   fso=nothing  
  '将chart转换成GIF文件保存在临时目录  
  m_cspace.ExportPicture   sFilePath   &   sFileName,   "gif",   200,   150  
   
  '将生成的临时图片报存在session中以便于删除  
  Session("TC:"   &   sFilePath   &   sFileName)   =   sFilePath   &   sFileName  
  ExportChartToGIF   =   sFileName  
  End   Function  
   
  Sub   BindChartToDSC(cspace,   dsc,   sRSName,   sCategories,   sValues)  
  Dim   cht    
  Dim   ser    
   
  set   c   =   cspace.Constants  
   
  cspace.Clear  
   
  '   绑定数据源  
  set   cspace.DataSource   =   dsc  
   
  cspace.DataMember   =   sRSName  
   
  set   cht   =   cspace.Charts.Add()  
  cht.HasLegend   =   True  
  cht.Type   =   c.chChartTypePie  
   
  set   ser   =   cht.SeriesCollection.Add()  
  ser.SetData   c.chDimCategories,   0,   sCategories  
  ser.SetData   c.chDimValues,   0,   sValues  
   
  set   dls   =   ser.DataLabelsCollection.Add()  
  dls.HasPercentage   =   True  
  dls.HasValue   =   False  
   
  End   Sub    
  %>  
  <html>  
   
  <head>  
  <meta   name="GENERATOR"   content="Microsoft   FrontPage   4.0">  
  <meta   name="ProgId"   content="FrontPage.Editor.Document">  
  <title>利用OWC动态生成图表</title>  
  </head>  
   
  <body>  
  <%  
  set   m_cspace   =   server.CreateObject("OWC.Chart")  
  set   DSC   =   server.CreateObject("OWC.DataSourceControl")  
  DSC.ConnectionString   =   "DSN=pubs;uid=sa"  
  DSC.RecordsetDefs.AddNew   "select   distinct   state,num=COUNT(*)   FROM   authors   GROUP   BY   state",DSC.Constants.dscCommandText,"ChartData"  
  BindChartToDSC   m_cspace,   DSC,   "ChartData",   "state",   "num"  
  m_sFilePath   =   ExportChartToGIF(m_cspace)  
  set   m_cspace=nothing  
  set   m_cht=nothing  
  %>  
   
  <br><br>  
  <img   src="tmp/<%=   m_sFilePath   %>">  
  </BODY>  
  </HTML>  
  -----------------------------------------------------------------  
  这是别人写的例子,和我的基本一样!  
  你可以参考参考。Top

6 楼bushido(大饼)回复于 2002-08-23 09:14:45 得分 0

如果是柱状图比较简单做一个宽一个像素或是高一个像素的图片,然后把统计的出来的值做为图片的宽或高就可以了.当然也可以用table,填色块,这种方法不需要用控件Top

7 楼csdnyong(命运)回复于 2002-08-25 09:59:29 得分 0

不用控件,只用asp和htmlTop

8 楼csdnyong(命运)回复于 2002-08-25 10:26:18 得分 0

画不出图形呀Top

9 楼zqfleaf(动力港湾)回复于 2002-08-26 10:57:50 得分 0

不用控件只用html  
  只能画柱面图  
  类似于  
  一年级人数   |     ***********************************  
  二年级人数   |     *****************  
  三年级人数   |     ************************  
  之类的。  
  你可以一行用一个table   指定他的bgcolor   和   width就可以了也很漂亮.Top

10 楼Iamfish(呆鱼)回复于 2002-08-26 11:58:43 得分 0

 
  <html>  
  <head>  
  <title>Untitled   Document</title>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  </head>  
   
  <body>  
  <table   width="737"   border="0"   align="center"   cellpadding="0"   cellspacing="0">  
      <tr>    
          <td   height="48"   align="center"   valign="bottom"><div   align="right">销售量<br>  
                  (元)   <br>  
              </div></td>  
          <td   bordercolor="#000000"   bgcolor="#000000"></td>  
          <td   colspan="32"   valign="middle"><div   align="center"><strong><font   size="4">    
                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2002年8月销售图    
                  </font></strong><font   size="4"><font   color="#999999"   size="2">By   dream.fish@163.com</font></font></div></td>  
      </tr>  
      <tr>    
          <td   width="59"   height="400"   align="center"   valign="bottom">   <table   width="30%"   height="400"   border="0"   align="right"   cellpadding="0"   cellspacing="0">  
                  <tr>    
                      <td   align="right"   valign="bottom">3500</td>  
                  </tr>  
                  <tr>    
                      <td   align="right"   valign="bottom">3000</td>  
                  </tr>  
                  <tr>    
                      <td   align="right"   valign="bottom">2500</td>  
                  </tr>  
                  <tr>    
                      <td   align="right"   valign="bottom">2000</td>  
                  </tr>  
                  <tr>    
                      <td   align="right"   valign="bottom">1500</td>  
                  </tr>  
                  <tr>    
                      <td   align="right"   valign="bottom">1000</td>  
                  </tr>  
                  <tr>    
                      <td   align="right"   valign="bottom">500</td>  
                  </tr>  
                  <tr>    
                      <td   align="right"   valign="bottom">0</td>  
                  </tr>  
              </table></td>  
          <td   width="1"   bordercolor="#000000"   bgcolor="#000000"></td>  
          <td   width="20"   valign="bottom">   <table   width="15"   height="250"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="300"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="200"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="230"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="290"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="330"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="290"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="230"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="290"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="330"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="200"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="230"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="290"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
  Top

11 楼Iamfish(呆鱼)回复于 2002-08-26 12:00:37 得分 50

<td   width="20"   valign="bottom"><table   width="15"   height="234"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="250"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="330"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="290"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="234"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="200"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="230"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="200"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="330"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#FF9900">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="290"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom"><table   width="15"   height="350"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bgcolor="#996600">  
                  <tr>    
                      <td>&nbsp;</td>  
                  </tr>  
              </table></td>  
          <td   width="20"   valign="bottom">&nbsp;</td>  
          <td   width="20"   valign="bottom">&nbsp;</td>  
          <td   width="20"   valign="bottom">&nbsp;</td>  
          <td   width="20"   valign="bottom">&nbsp;</td>  
          <td   width="20"   valign="bottom">&nbsp;</td>  
          <td   width="20"   valign="bottom">&nbsp;</td>  
          <td   width="20"   valign="bottom">&nbsp;</td>  
          <td   width="57"   align="right"   valign="bottom">&nbsp;</td>  
      </tr>  
      <tr   bgcolor="#000000">    
          <td   height="1"></td>  
          <td   width="1"   bordercolor="#000000"></td>  
          <td   colspan="32"></td>  
      </tr>  
      <tr   align="center"   valign="top">    
          <td   height="69">&nbsp;</td>  
          <td   width="1"   bordercolor="#000000"   bgcolor="#000000"></td>  
          <td   width="20">1</td>  
          <td   width="20">2</td>  
          <td   width="20">3</td>  
          <td   width="20">4</td>  
          <td   width="20">5</td>  
          <td   width="20">6</td>  
          <td   width="20">7</td>  
          <td   width="20">8</td>  
          <td   width="20">9</td>  
          <td   width="20">10</td>  
          <td   width="20">11</td>  
          <td   width="20">12</td>  
          <td   width="20">13</td>  
          <td   width="20">14</td>  
          <td   width="20">15</td>  
          <td   width="20">16</td>  
          <td   width="20">17</td>  
          <td   width="20">18</td>  
          <td   width="20">19</td>  
          <td   width="20">20</td>  
          <td   width="20">21</td>  
          <td   width="20">22</td>  
          <td   width="20">23</td>  
          <td   width="20">24</td>  
          <td   width="20">25</td>  
          <td   width="20">26</td>  
          <td   width="20">27</td>  
          <td   width="20">28</td>  
          <td   width="20">29</td>  
          <td   width="20">30</td>  
          <td   width="20">31</td>  
          <td   width="57"   align="center">日期</td>  
      </tr>  
  </table>  
  </body>  
  </html>  
  __________________________________________________  
   
  给你一种在网页显示柱状图的思想。我有空会写一个Functin来显示,可能会较简单。代码也不会这么多。Top

12 楼csdnyong(命运)回复于 2002-08-26 15:39:41 得分 0

快说!!谢谢Top

13 楼csdnyong(命运)回复于 2002-08-26 15:54:36 得分 0

我发现数为0的时候也有高度呀Top

14 楼zqfleaf(动力港湾)回复于 2002-08-26 16:05:18 得分 0

如果为0可以提前滤掉Top

15 楼zqfleaf(动力港湾)回复于 2002-08-26 16:08:35 得分 50

效果:  
   
  <table   border=0     cellpadding=1   cellspacing=1     bgcolor=SteelBlue>  
         
          <tr   bgcolor=#F8F8FF   height=30><td   align=center   width   =20%   >学历名称</td><td   align=center   width=65%>比列</td><td   width=15%>人数</td></tr>  
  <tr   bgcolor=#F8F8FF><td   align=center>博士             </td><td><table   ><tr   bgcolor=red   ><td   width=.397416790859414>&nbsp;</td><td   bgcolor=#F8F8FF>.05%</td></tr></table></td><td>1人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>硕士             </td><td><table   ><tr   bgcolor=red   ><td   width=4.37158469945355>&nbsp;</td><td   bgcolor=#F8F8FF>.546%</td></tr></table></td><td>11人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>大学本科     </td><td><table   ><tr   bgcolor=red   ><td   width=143.864878291108>&nbsp;</td><td   bgcolor=#F8F8FF>17.983%</td></tr></table></td><td>362人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>大专             </td><td><table   ><tr   bgcolor=red   ><td   width=51.2667660208644>&nbsp;</td><td   bgcolor=#F8F8FF>6.408%</td></tr></table></td><td>129人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>中专             </td><td><table   ><tr   bgcolor=red   ><td   width=288.922006954794>&nbsp;</td><td   bgcolor=#F8F8FF>36.115%</td></tr></table></td><td>727人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>职业中专     </td><td><table   ><tr   bgcolor=red   ><td   width=30.2036761053154>&nbsp;</td><td   bgcolor=#F8F8FF>3.775%</td></tr></table></td><td>76人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>职技             </td><td><table   ><tr   bgcolor=red   ><td   width=186.388474913065>&nbsp;</td><td   bgcolor=#F8F8FF>23.299%</td></tr></table></td><td>469人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>高中             </td><td><table   ><tr   bgcolor=red   ><td   width=54.0486835568803>&nbsp;</td><td   bgcolor=#F8F8FF>6.756%</td></tr></table></td><td>136人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>初中             </td><td><table   ><tr   bgcolor=red   ><td   width=38.1520119225037>&nbsp;</td><td   bgcolor=#F8F8FF>4.769%</td></tr></table></td><td>96人</td></tr><tr   bgcolor=#F8F8FF><td   align=center>小学             </td><td><table   ><tr   bgcolor=red   ><td   width=2.38450074515648>&nbsp;</td><td   bgcolor=#F8F8FF>.298%</td></tr></table></td><td>6人</td></tr></table>Top

16 楼szj820(都市精灵,机会没有,鸡会有的,努力努力)回复于 2002-08-26 16:19:19 得分 0

关注Top

17 楼Iamfish(呆鱼)回复于 2002-08-26 18:27:44 得分 0

<td   width="20"   valign="bottom"><table   width="15"   height=""   border="0"   align="center"   cellpadding="0"   cellspacing="0"     bgcolor="#996600"><tr><td></td></tr></table></td>  
   
  用这个,只有一点点,差不多一个多像素。如果你要精度非常高,=0时就不要生成表格,把设背景为白色Top

18 楼csdnyong(命运)回复于 2002-08-27 20:29:23 得分 0

如果用图片则下边有空   高度越大   空白阅读Top

19 楼yunzhongjian(云中剑)回复于 2002-08-27 20:44:09 得分 0

柱状图就不需要用到控件了,只需地控制表格来实现就可以了,如果要画曲线图,还得用到控件,很推荐用OWC控件Top

20 楼online(龙卷风V4.0--决战江湖(MS MVP-VB))回复于 2002-08-29 14:11:06 得分 0

OWC控件。(Office   Web   components)不但功能强大,而且是完全免费的,值得推荐!  
  yyg@xjeri.com.cnTop

相关问题

  • 用asp画图,急急
  • asp画图~~~~~
  • ***** asp画图问题!!
  • 画图问题,急!
  • picturebox画图的问题,急!!!
  • 紧急提问,c++里的画图
  • 在image上画图的问题(急!!)
  • 请教GDI+画图问题 急!
  • 紧急求助,owc画图的问题
  • 在对话框里画图(急)

关键词

得分解答快速导航

  • 帖主:csdnyong
  • Iamfish
  • zqfleaf

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo