html5生成柱状图(条形图)效果的实例代码

人生有起有落,有起有伏,无论你现在是在人生的顶峰,还是在人生的低谷,都是人生必经的一个过程。站在山峰的你,回头看看曾经在山谷的你,是多么的发奋图强,自强不息。所有的好事不是不来,而是在等红绿灯的路上。
XML/HTML Code复制内容到剪贴板
  1. <html>
  2. <canvasid="a_canvas"width="1000"height="700"></canvas>
  3. <script>
  4. (function(){
  5. window.addEventListener("load",function(){
  6. vardata=[1000,1300,2000,3000,2000,2000,1000,1500,2000,5000,1000,1000];
  7. varxinforma=['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'];
  8. //获取上下文
  9. vara_canvas=document.getElementById('a_canvas');
  10. varcontext=a_canvas.getContext("2d");
  11. //绘制背景
  12. vargradient=context.createLinearGradient(0,0,0,300);
  13. //gradient.addColorStop(0,"#e0e0e0");
  14. //gradient.addColorStop(1,"#ffffff");
  15. context.fillStyle=gradient;
  16. context.fillRect(0,0,a_canvas.width,a_canvas.height);
  17. varrealheight=a_canvas.height-15;
  18. varrealwidth=a_canvas.width-40;
  19. //描绘边框
  20. vargrid_cols=data.length+1;
  21. vargrid_rows=4;
  22. varcell_height=realheight/grid_rows;
  23. varcell_width=realwidth/grid_cols;
  24. context.lineWidth=1;
  25. context.strokeStyle="#a0a0a0";
  26. //结束边框描绘
  27. context.beginPath();
  28. //准备画横线
  29. /*for(varrow=1;row<=grid_rows;row++){
  30. vary=row*cell_height;
  31. context.moveTo(0,y);
  32. context.lineTo(a_canvas.width,y);
  33. }*/
  34. //划横线
  35. context.moveTo(0,realheight);
  36. context.lineTo(realwidth,realheight);
  37. //画竖线
  38. context.moveTo(0,20);
  39. context.lineTo(0,realheight);
  40. context.lineWidth=1;
  41. context.strokeStyle="black";
  42. context.stroke();
  43. varmax_v=0;
  44. for(vari=0;i<data.length;i++){
  45. if(data[i]>max_v){max_v=data[i]};
  46. }
  47. max_vmax_v=max_v*1.1;
  48. //将数据换算为坐标
  49. varpoints=[];
  50. for(vari=0;i<data.length;i++){
  51. varv=data[i];
  52. varpx=cell_width* (i+1);
  53. varpy=realheight-realheight*(v/max_v);
  54. //alert(py);
  55. points.push({"x":px,"y":py});
  56. }
  57. //绘制坐标图形
  58. for(variinpoints){
  59. varp=points[i];
  60. context.beginPath();
  61. context.fillStyle="green";
  62. context.fillRect(p.x,p.y,15,realheight-p.y);
  63. context.fill();
  64. }
  65. //添加文字
  66. for(variinpoints)
  67. {varp=points[i];
  68. context.beginPath();
  69. context.fillStyle="black";
  70. context.fillText(data[i],p.x+1,p.y-15);
  71. context.fillText(xinforma[i],p.x+1,realheight+12);
  72. context.fillText('月份',realwidth,realheight+12);
  73. context.fillText('资金量',0,10);
  74. }
  75. },false);
  76. })();
  77. </script>
  78. </html>

html5生成柱状图(条形图)详细代码

运行结果:

以上这篇html5生成柱状图(条形图)效果的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

原文地址:http://www.cnblogs.com/shuniuniu/p/5318666.html

您可能有感兴趣的文章
html5中canvas图表如何实现柱状图的示例