利用画布绘制柱状图

<!DOCTYPE html>
<head>
	<meta charset="utf-8" />
	<title>柱状图</title>
	<style>/*绘制画布的样式*/
		canvas{
			background-color: rgb(243,243,243);
		}
	</style>
</head>
<body>
	<canvas width="800px" height="500px"></canvas><!--绘制一个画布-->
	<script>
//		获取画布对象和画布工具
		var maycanvas=document.querySelector("canvas");
		var ctx=maycanvas.getContext("2d");
//		动态获取画布的宽和高
		var canvasW=ctx.canvas.width;
		var canvasH=ctx.canvas.height;
//		定义变量
		var unm=50;
//		绘制x,y轴
		ctx.moveTo(unm,unm);
		ctx.lineTo(unm,canvasH-unm);
		ctx.lineTo(canvasW-unm,canvasH-unm)
		ctx.strokeStyle="#000000";
		ctx.stroke();
//		绘制y轴突出部位和下标
		for(i=0;i<5;i++){
		ctx.moveTo(unm,canvasH-unm-i*100);
		ctx.lineTo(unm-10,canvasH-unm-i*100)
		ctx.strokeStyle="#000000";
		ctx.stroke();
		ctx.fillText(i*100,unm-30,canvasH-unm-i*100)
		}
//		绘制x轴和下标
		for(i=1;i<7;i++){
		ctx.moveTo(unm+40+80*i,canvasH-unm);
		ctx.lineTo(unm+40+80*i,canvasH-unm+10);
		ctx.strokeStyle="#000000";
		ctx.stroke();
		}
//		绘制柱形
		ctx.beginPath();
		ctx.moveTo(unm+40,canvasH-unm);
		ctx.lineTo(unm+40,canvasH-unm+10);
		ctx.strokeStyle="#000000";
		ctx.stroke();
		var arr=[20,70,200,330,390,320,230];
		for(i=0;i<8;i++){
		ctx.fillStyle="rgb(51,152,219)";
		ctx.rect(unm+20+80*i, canvasH-unm-arr[i],40,arr[i]);
		ctx.fill();
		}
		//添加下面的字
		var zi=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]
		ctx.beginPath();
		for(i=0;i<zi.length;i++){
		ctx.fillText(zi[i],80+i*80,canvasH-30)
		   }
	</script>
</body>

  

原文地址:https://www.cnblogs.com/xuhanghang/p/10127936.html

时间: 2024-11-08 16:51:17

利用画布绘制柱状图的相关文章

利用JFreeChart绘制股票K线图完整解决方案

http://blog.sina.com.cn/s/blog_4ad042e50100q7d9.html 利用JFreeChart绘制股票K线图完整解决方案 (2011-04-30 13:27:17) 标签: 绘制 股票 k线 it 分类: 软件_Software 因为工作的需要,接触了一些股票图形绘制类的工作,其中最主要的还是股票K线图的绘制了,如果利用编程语言最底层的图形绘制方法去绘制这类图形,如果对编程语言不是特别熟悉的话,一般是有很大的困难的,通过在网上搜索发现,以自己最熟悉的两门语言为

canvas绘制柱状图和、绘制形状中心旋转

<!DOCTYPE html> <html ng-app=""> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <canvas id="cvs" width="400" height="300"

利用Excel画柱状图,并且包含最大最小值

如何利用Excel画出如上样式的图? 1.绘制柱状图.如何绘制柱状图,操作非常简单,选中数据,点击合适的图表样式即可. 2.添加误差线.选中已绘制好的图,添加误差线.如果误差线没有出现,可以使用”更多选项“一一添加误差线. 3.调整误差线的大小.可使用百分比,也可使用误差和偏差.

167天:canvas绘制柱状图

canvas绘制柱状图 1.HTML 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 6 &l

PyQt5利用QPainter绘制各种图形

这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西.这个过程也掌握了很多新的知识点 [知识点] 1.关于多个点的使用 poitns = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 请看: 1 # 定义多个点 2 points = [QPoint(10, 80), QPoint(2

13-1 画布绘制基本线条

趋势 Canvas+WebSocket 我们能用Canvas做些什么? 1. 游戏:毫无疑问,游戏在HTML5领域具有举足轻重的地位.HTML5在基于Web的图像显示方面比Flash更加立体.更加精巧,Ohad认为运用Canvas制作的图像能够令HTML5游戏在流畅度和跨平台方面发挥更大的潜力. 2. 图表制作:图表制作时常被人们忽略,但无论企业内部还是企业间交流合作都离不开图表.现在一些开发者使用HTML/CSS完成图标制作,但Ohad认为大家完全可以用Canvas来实现.当然,使用SVG(可

C#利用GDI+绘制旋转文字等效果

C#中利用GDI+绘制旋转文本的文字,网上有很多资料,基本都使用矩阵旋转的方式实现.但基本都只提及按点旋转,若要实现在矩形范围内旋转文本,资料较少.经过琢磨,可以将矩形内旋转转化为按点旋转,不过需要经过不少的计算过程.利用下面的类可以实现该功能. [csharp] view plaincopy using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D;

C#利用GDI+绘制旋转文字等效果实例

本文实例讲述了C#利用GDI+绘制旋转文字等效果的方法,是非常实用的技巧.分享给大家供大家参考之用.具体如下: C#中利用GDI+绘制旋转文本的文字,网上有很多资料,基本都使用矩阵旋转的方式实现.但基本都只提及按点旋转,若要实现在矩形范围内旋转文本,资料较少.经过琢磨,可以将矩形内旋转转化为按点旋转,不过需要经过不少的计算过程.利用下面的类可以实现该功能. 具体实现代码如下: using System; using System.Collections.Generic; using System

利用QPainter绘制各种图形(Shape, Pen 宽带,颜色,风格,Cap,Join,刷子)

利用QPainter绘制各种图形 Qt的二维图形引擎是基于QPainter类的.QPainter既可以绘制几何形状(点.线.矩形.椭圆.弧形.弦形.饼状图.多边形和贝塞尔曲线),也可以绘制像素映射.图像和文字.此外,QPainter还支持一些高级特性,例如反走样(针对文字和图形边缘).像素混合.渐变填充和矢量路径等.QPainter也支持线性变换,例如平移.旋转.错切和缩放. 本例子中利用QPainter类提供的各种draw函数,绘制各种类型的图形,包括对图形的形状.颜色.填充风格等的选择. 1