基于HTML5 Canvas的线性区域图表教程

之前我们看到过很多用jQuery实现的网页图表,有些还是比较实用的。今天我们来介绍一款基于HTML5 Canvas的线性区域图表应用,这个图表应用允许你使用多组数据来同时展示,并且将数据结果以线性图的形式展现,各个数据之间形成的区域用不同的颜色表示,具体可以看下面的DEMO演示。

你也可以在这里查看在线演示

下面我们来简单介绍一下实现这款HTML5图表的过程以及源代码。

HTML代码:

<canvas id="cvs" width="600" height="250">[No canvas support]</canvas>

简单的一个canvas标签,我们的图表就是在canvas上绘制而成的。

由于这款图表是基于RGraph的,所以我们还要引用RGraph的相关js脚本以及jquery类库:

<script src="../libraries/RGraph.common.core.js" ></script>
<script src="../libraries/RGraph.common.effects.js" ></script>
<script src="../libraries/RGraph.common.dynamic.js" ></script>
<script src="../libraries/RGraph.common.tooltips.js" ></script>
<script src="../libraries/RGraph.drawing.poly.js" ></script>
<script src="../libraries/RGraph.line.js" ></script>
<script src="../libraries/jquery.min.js" ></script>

最后是Javascript代码:

var d1  = [];
            var d2  = [];
            var val = 47;

            // Create the data
            for (var i=0; i<100; i+=1) d1[i] = RGraph.random(45,55);
            for (var i=0; i<100; i+=1) d2[i] = RGraph.random(25,35);

            var line = new RGraph.Line(‘cvs‘, d1, d2)
                .Set(‘background.grid.autofit.numhlines‘, 10)
                .Set(‘hmargin‘, 10)
                .Set(‘filled‘, true)
                .Set(‘fillstyle‘, ‘red‘)
                .Set(‘filled.range‘, true)
                .Set(‘filled.range.threshold‘,40)
                .Set(‘filled.range.threshold.colors‘, [‘rgba(255,0,0,0.5)‘, ‘rgba(0,0,255,0.5)‘])
                .Set(‘labels‘,[‘Q1‘,‘Q2‘,‘Q3‘,‘Q4‘])
                .Set(‘colors‘, [‘gray‘, ‘gray‘])
                .Set(‘numxticks‘, 8)
                .Set(‘linewidth‘, 1)
                .Set(‘ymax‘, 60)
            RGraph.Effects.Line.jQuery.Trace(line);

            var coords = []
            for (var i=0; i<(line.coords.length/2); i+=1) {
                coords.push(line.coords[i])
            }
            for (var i=(line.coords.length - 1); i>=(line.coords.length/2); i-=1) {
                coords.push(line.coords[i])
            }

            var poly = new RGraph.Drawing.Poly(‘cvs‘, coords)
                .Set(‘fillstyle‘, ‘rgba(0,0,0,0)‘)
                .Set(‘strokestyle‘, ‘rgba(0,0,0,0)‘)
                .Set(‘tooltips‘, [‘The range chart‘])
                .Set(‘highlight.fill‘, ‘rgba(255,255,255,0.3)‘)
                .Draw();

主要是初始化一些数据,RGraph是一款很不错的HTML5图表框架,更多的RGraph例子我们今后会继续讲解。源代码下载>>

基于HTML5 Canvas的线性区域图表教程

时间: 2024-10-04 03:47:00

基于HTML5 Canvas的线性区域图表教程的相关文章

基于HTML5 Canvas的饼状图表实现教程

昨天我们分享了一款基于HTML5的线性图表应用,效果非常不错,可以看在线DEMO或者实现教程.今天我们继续来分享一款基于HTML5的网页图表,它也是利用Canvas绘制的,但是和前面不同的是,这款图表是饼状图,并且我们可以点击右侧的表格来选中激活当前的图表数据,具体效果可以看DEMO演示. 你也可以在这里查看在线演示 下面是实现的过程及源码,一起分享给大家. HTML代码: <div id="container"> <canvas id="chart&quo

推荐18个基于 HTML5 Canvas 开发的图表库 - 梦想天空(山边小溪) - 博客园

推荐18个基于 HTML5 Canvas 开发的图表库 - 梦想天空(山边小溪) - 博客园 推荐18个基于 HTML5 Canvas 开发的图表库

基于HTML5 Canvas实现的图片马赛克模糊特效

效果请点击下面网址: http://hovertree.com/texiao/html5/1.htm 一.开门见山受美国肖像画家Chuck Close的启发,此脚本通过使用HTML5 canvas元素把图像转换成像素形式,这基本上是一个为canvas imageData功能的简单演示. 此脚本现存于GitHub上,您可以在那里下载到脚本和示例.在GitHub上查看像素化资源 二.选项此方法接受一个对象数组,每个对象都拥有一组选项.resolution : 渲染像素间的像素距离,必须的.shape

基于html5 canvas和js实现的水果忍者网页版

今天爱编程小编给大家分享一款基于html5 canvas和js实现的水果忍者网页版. <水果忍者>是一款非常受喜欢的手机游戏,刚看到新闻说<水果忍者>四周年新版要上线了.网页版的切水果游戏由百度 JS 小组开发,采用 vml + svg 绘图,使用了 Raphael,效果很赞,赶紧来膜拜一下.效果图如下: 在线预览   源码下载 实现的代码. html代码: <canvas id="view" width="640" height=&q

基于HTML5 Canvas粒子效果文字动画特效

之前我们分享过很多超酷的文字特效,其中也有利用HTML5和CSS3的.今天我们要来分享一款基于HTML5 Canvas的文字特效,输入框中输入想要展示的文字,回车后即可在canvas上绘制出粒子效果的文字动画,相当酷的动画效果. 在线预览   源码下载 实现的代码. html代码: <canvas class="canvas"></canvas> <div class="help"> ?</div> <div c

基于HTML5 canvas圆形倒计时器jQuery插件

这是一款基于html5 canvas的圆形倒计时器jQuery插件.它可以使你非常轻松的创建圆形的倒计时器.该jQuery倒计时器插件有12种themes,它们基于 HTML5 canvas 来渲染各种圆环. 这个jQuery环形倒计时器插件依赖于jquery.knob.js和jquery.throttle.js两个外部插件. 在线演示:http://www.htmleaf.com/Demo/201502111367.html 下载地址:http://www.htmleaf.com/html5/

基于HTML5 canvas的jQuery刮刮卡效果

ScratchIt是一款基于HTML5 canvas的jQuery刮刮卡效果插件.这个刮刮卡效果使用两张图片和canvas来制作,可以使用鼠标擦除上面的图片,将下面的图片显露出来,模拟现实的刮刮卡效果. 效果演示:http://www.htmleaf.com/Demo/201506071985.html 下载地址:http://www.htmleaf.com/html5/html5-canvas/201506071984.html

一款基于HTML5 Canvas的画板涂鸦动画

今天给各网友分享一款基于HTML5 Canvas的画板涂鸦动画.记得之前我们分享过一款HTML5 Canvas画板工具,可以切换不同的笔刷,功能十分强大.本文今天要再来分享一款基于HTML5 Canvas的画板涂鸦动画应用,功能和之前那个类似,但是新增了回撤和清空画板的操作,实现思路也基本类似.实现的效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="wrap"> <canvas id="canvas" cl

基于HTML5 Canvas和jQuery 的画图工具的实现

简介 HTML5 提供了强大的Canvas元素,使用Canvas并结合Javascript 可以实现一些非常强大的功能.本文就介绍一下基于HTML5 Canvas 的画图工具的实现.废话少说,先看成品: 该应用是遵循所见即所得(WYSIWYG, What you see is what you get)原则设计的,它具有以下功能: 1. 可以绘制自由曲线.直线.矩形框和文字: 2. 可以根据需要定义线段和矩形框的颜色和宽度: 3. 你可以需要字体的大小.颜色.字体: 4. 支持undo.redo