JavaScript根据数据生成百分比图和柱状图的实例代码

复制代码 代码如下:

  <HTML>

  <head>

  <title>JS百分比图和柱状图</title>

  <xml:namespace prefix="v"/>

  <style>

  v\:* {behavior=url(#default#VML)}

  </style>

  <style>

  a:hover {color:maroon}

  h2 {color:#006600;

  margin-top: 0pt;

  margin-bottom: 0pt}

  h3 {color:#006600;

  margin-top: 6pt;

  margin-bottom: 3pt}

  h4 {color:#006600;

  font-family: Arial;

  font-size: 10pt;

  margin-top: 3pt;

  margin-bottom: 0pt}

  h5 {color:#006600;

  margin-top: 0pt;

  margin-bottom: 0pt}

  p  {margin-top: 0pt;

  margin-bottom: 12pt}

  </style>

  </head>

  <BODY text="#000000" bgcolor="#FFFFFF" link="#006600" vlink="#006600" leftmargin=6 topmargin=6>

  <style> p.Chart {font-size:8pt; font-family:"Times"; color:black; text-align:right; } </style>

  <div style='margin-top:12pt; position:relative; '>

  <v:group style='height:324pt;width:432pt' coordsize="4320,3240">

  <!-- Paper is white with a simple drop-shadow -->

  <v:rect style='width:4320;height:3240' fillcolor="white">

  <v:shadow on="true" offset="4pt,3pt" color="silver" />

  </v:rect>

  <v:rect style='position:absolute;left:40;top:40;width:4240;height:3160;' fillcolor="#FFFFFF" strokeweight=1.5pt />

  <p class=Chart style='position:absolute;left:123.1pt;top:17.8pt;width:189.8pt;height:12.6pt;color:"#000080";font-style:italic;font-size:18pt;text-align:center;'>Sample Piechart</p>

  <p class=Chart style='position:absolute;left:225.5pt;top:310.4pt;width:198.5pt;height:5.6pt;color:"#008000";font-family:"Arial";'>Random numbers drawn as a simple pie</p>

  <v:shape style='position:absolute; width:4320; height:3240' strokeweight=0.5pt fillcolor="#DBDBED" path="M 2250 1590 AE 2250 1590 791 791 -3538944 9437184 X E" />

  <v:shape style='position:absolute;width:4320;height:3240' strokecolor="#000000" strokeweight=0.7pt >

  <v:stroke joinstyle=round endcap=round />

  <v:fill on="false" />

  <v:path v=" M 3115 1309 L 2927 1370 E "/>

  </v:shape>

  <p class=Chart style='position:absolute;left:315.9pt;top:127.3pt;width:39.3pt;height:5.6pt; text-align=left; '>One: 30</p>

  <v:shape style='position:absolute; width:4320; height:3240' strokeweight=0.5pt fillcolor="#AA5555" path="M 2245 1629 AE 2245 1629 791 791 -9201254 5662310 X E" />

  <v:shape style='position:absolute;width:4320;height:3240' strokecolor="#000000" strokeweight=0.7pt >

  <v:stroke joinstyle=round endcap=round />

  <v:fill on="false" />

  <v:path v=" M 3139 1329 M 2131 2532 L 2156 2336 E "/>

  </v:shape>

  <p class=Chart style='position:absolute;left:171.9pt;top:249.6pt;width:39.6pt;height:5.6pt;'>Two: 18</p>

  <v:shape style='position:absolute; width:4320; height:3240' strokeweight=0.5pt fillcolor="#F2F8F8" path="M 2250 1590 AE 2250 1590 791 791 -13290701 4089446 X E" />

  <v:shape style='position:absolute;width:4320;height:3240' strokecolor="#000000" strokeweight=0.7pt >

  <v:stroke joinstyle=round endcap=round />

  <v:fill on="false" />

  <v:path v=" M 2115 2552 M 1350 1723 L 1546 1694 E "/>

  </v:shape>

  <p class=Chart style='position:absolute;left:83.5pt;top:168.7pt;width:49.9pt;height:5.6pt;'>Three: 13</p>

  <v:shape style='position:absolute; width:4320; height:3240' strokeweight=0.5pt fillcolor="#8BC58B" path="M 2193 1535 AE 2193 1535 791 791 -16121856 2831155 X E" />

  <v:shape style='position:absolute;width:4320;height:3240' strokecolor="#000000" strokeweight=0.7pt >

  <v:stroke joinstyle=round endcap=round />

  <v:fill on="false" />

  <v:path v=" M 1334 1743 M 1544 898 L 1685 1037 E "/>

  </v:shape>

  <p class=Chart style='position:absolute;left:116.3pt;top:86.2pt;width:36.5pt;height:5.6pt;'>Four: 9</p>

  <v:shape style='position:absolute; width:4320; height:3240' strokeweight=0.5pt fillcolor="#C080C0" path="M 2250 1590 AE 2250 1590 791 791 -17694720 1572864 X E" />

  <v:shape style='position:absolute;width:4320;height:3240' strokecolor="#000000" strokeweight=0.7pt >

  <v:stroke joinstyle=round endcap=round />

  <v:fill on="false" />

  <v:path v=" M 1528 918 M 2061 700 L 2102 894 E "/>

  </v:shape>

  <p class=Chart style='position:absolute;left:174.1pt;top:66.4pt;width:30.4pt;height:5.6pt;'>Five: 5</p>

  </v:group></div>

  <html>

  <head>

  </head>

  <script language=JavaScript>

  function displayTitle( title )

  {

  document.write("<center><i>" + title + "</i></center><br>");

  }

  function generateRandomNumber(num) {

  return Math.round( Math.random() * (num - 1) ) + 1;

  }

  function plottablehead(  val )

  {

  document.writeln("<table border = 0 bgcolor = black width = 10 height = 10 cellpadding = 0 cellspacing = 0>");

  document.write("<tr> <i>" + val + "</i>");

  }

  function plottabletail()

  {

  document.write("</tr></table><br>");

  }

  function plotcolor(d, clr)

  {

  for(i=1;i<=d;i++){

  document.write("<td bgcolor = " + clr + ">   </td>");

  }

  }

  function setColor(foreground,background)

  {

  document.fgColor=foreground;

  document.bgColor=background;

  }

  setColor("orange","black");

  a=generateRandomNumber(50);

  plottablehead( a );

  plotcolor(a, "red");

  plottabletail();

  a=generateRandomNumber(50);

  plottablehead( a );

  plotcolor(a, "blue");

  plottabletail();

  a=generateRandomNumber(50);

  plottablehead( a );

  plotcolor(a, "green");

  plottabletail();

  a=generateRandomNumber(50);

  plottablehead( a );

  plotcolor(a, "yellow");

  plottabletail();

  a=generateRandomNumber(50);

  plottablehead( a );

  plotcolor(a, "gray");

  plottabletail();

  a=generateRandomNumber(50);

  plottablehead( a );

  plotcolor(a, "midnightblue");

  plottabletail();

  //-->

  </script>

  </head>

  </body>

  </html>