Since I did not organize it after writing it, the code structure inside is not very reasonable. Please forgive me. In addition, the coordinates of the drawing inside are also adjusted while drawing. They are for your reference only.
Rendering :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>绘制柱状图</title> </head> <body> <p style="margin: 0 auto; width:800px; height:400px"> <canvas id="can1" width="800" height="400"> </canvas> <table border="1" style="width: 800px" id="tab1"> <caption>会员数的变化</caption> <thead> <th>公元</th> <th>2003年</th> <th>2004年</th> <th>2005年</th> <th>2006年</th> <th>2007年</th> <th>2008年</th> <th>2009年</th> </thead> <tbody> <tr style="text-align: center"> <th>会员数</th> <td>230</td> <td>360</td> <td>459</td> <td>654</td> <td>834</td> <td>956</td> <td>1085</td> </tr> </tbody> </table> </p> <script type="text/javascript"> var can1=document.getElementByIdx_x_x("can1"); var cxt=can1.getContext("2d"); var cw=parseInt(can1.width); var ch=parseInt(can1.height); var basex=0; var basey=30; var gx=cw*0.8; var gy=ch*0.8; //第一步:绘制背景 cxt.fillStyle="#eeeeee"; cxt.fillRect(basex,basey,gx,gy); //第二步:下边我们获取我们表头当中的年份信息 var tab1=document.getElementByIdx_x_x("tab1"); var head_cells=tab1.tHead.rows[0].cells; var head=[]; for(var i=1;i //获取年份写入到到我们的head数组当中 head.push(head_cells[i].innerHTML); } //第三步:取得我们表当中的信息(取得第一个tbody的第一行的所有数据) var value_cells=tab1.tBodies[0].rows[0].cells; var value=[]; for(var j=1;j var v=value_cells[j].innerHTML; //这里要注意进行类型转换,否则后边会出现莫名其妙的错误,像后面的求最大值,会出现错误 v=parseInt(v); value.push(v); } //第四步:找出我们数据当中的最大的值,以便我们进行坐标的分配 var max_value=0; for(var m=0;m if(value[m]>max_value){ max_value=value[m]; } } //第五步:绘制我们的坐标轴 cxt.beginPath(); cxt.fillStyle="black"; cxt.lineWidth=2; //移动到我们图中所谓的坐标原点 cxt.moveTo(0,0); //画纵轴 cxt.lineTo(0,gy+basey); //画横轴 cxt.lineTo(cw,gy+basey); cxt.stroke(); //第六步:开始进行绘制,绘制标题的同时绘制数据 //首先计算一下我们每个数值所代表的像素长度 var each_len=gy*0.8/max_value; //计算横轴上每个方块所占的长度 var each_room=gx*0.8/value.length; //开始绘制 for(var h=0;h //开始绘制 //1,绘制年份 cxt.fillText(head[h],each_room*h+30,gy+basey*1.5); //33里边的方块宽度,这是一边画一边调的,所以很乱,大家可以自己调整 cxt.fillRect(each_room*h+30,gy+basey-value[h]*each_len,33,value[h]*each_len); } </script> </body> </html>
Related articles:
html5 example code for generating histogram (bar chart) effect
Use HTML5 Canvas to draw histogram
The above is the detailed content of Use html to achieve simple histogram effect. For more information, please follow other related articles on the PHP Chinese website!

The main differences between HTML5 (H5) and older versions of HTML include: 1) H5 introduces semantic tags, 2) supports multimedia content, and 3) provides offline storage functions. H5 enhances the functionality and expressiveness of web pages through new tags and APIs, such as and tags, improving user experience and SEO effects, but need to pay attention to compatibility issues.

The difference between H5 and HTML5 is: 1) HTML5 is a web page standard that defines structure and content; 2) H5 is a mobile web application based on HTML5, suitable for rapid development and marketing.

The core features of HTML5 include semantic tags, multimedia support, form enhancement, offline storage and local storage. 1. Semantic tags such as, improve code readability and SEO effect. 2. Multimedia support simplifies the process of embedding media content through and tags. 3. Form Enhancement introduces new input types and verification properties, simplifying form development. 4. Offline storage and local storage improve web page performance and user experience through ApplicationCache and localStorage.

HTML5isamajorrevisionoftheHTMLstandardthatrevolutionizeswebdevelopmentbyintroducingnewsemanticelementsandcapabilities.1)ItenhancescodereadabilityandSEOwithelementslike,,,and.2)HTML5enablesricher,interactiveexperienceswithoutplugins,allowingdirectembe

Advanced tips for H5 include: 1. Use complex graphics to draw, 2. Use WebWorkers to improve performance, 3. Enhance user experience through WebStorage, 4. Implement responsive design, 5. Use WebRTC to achieve real-time communication, 6. Perform performance optimization and best practices. These tips help developers build more dynamic, interactive and efficient web applications.

H5 (HTML5) will improve web content and design through new elements and APIs. 1) H5 enhances semantic tagging and multimedia support. 2) It introduces Canvas and SVG, enriching web design. 3) H5 works by extending HTML functionality through new tags and APIs. 4) Basic usage includes creating graphics using it, and advanced usage involves WebStorageAPI. 5) Developers need to pay attention to browser compatibility and performance optimization.

H5 brings a number of new functions and capabilities, greatly improving the interactivity and development efficiency of web pages. 1. Semantic tags such as enhance SEO. 2. Multimedia support simplifies audio and video playback through and tags. 3. Canvas drawing provides dynamic graphics drawing tools. 4. Local storage simplifies data storage through localStorage and sessionStorage. 5. The geolocation API facilitates the development of location-based services.

HTML5 brings five key improvements: 1. Semantic tags improve code clarity and SEO effects; 2. Multimedia support simplifies video and audio embedding; 3. Form enhancement simplifies verification; 4. Offline and local storage improves user experience; 5. Canvas and graphics functions enhance the visualization of web pages.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Linux new version
SublimeText3 Linux latest version

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Notepad++7.3.1
Easy-to-use and free code editor
