jqPlot jquery的页面图表绘制工具


Posted in Javascript onJuly 25, 2009

jqplot是基于一个基本的jqplot.js文件,并有多个js文件支持的插件——也就是说jqplot.js文件只能支持线状图的绘制,对于饼状图,柱状图等图形需要引入pieRenderer.js等文件。
这里参照jqPlot的官方文档,以饼状图为例简单的说一下jqPlot的用法:
第一步,引入js文件(如果是画线状图之外的其他图表,需要引入相关js文件,这里引入饼状图文件pieRenderer)

<!--[if IE]><script language="javascript" type="text/javascript" src="./excanvas.js"></script><![endif]--> 
<link rel="stylesheet" type="text/css" href="./jquery.jqplot.css" /> 
<script language="javascript" type="text/javascript" src="./jquery-1.3.2.min.js"></script> 
<script language="javascript" type="text/javascript" src="./jquery.jqplot.js"></script> 
<script language="javascript" type="text/javascript" src="./plugins/jqplot.pieRenderer.js"></script>

第二步,增加一个图表展示区域的容器
<div id="chart" style="margin-top:20px; margin-left:20px; width:460px; height:500px;"></div>

第三步,获取数据
line1 = [['frogs', 3], ['buzzards', 7], ['deer', 2.5], ['turkeys', 6], ['moles', 5], ['ground hogs', 4]];

第四步,配置Option对象,并创建图表
$.jqplot('chart', [line1], { 
title:'pieRenderer ',//设置饼状图的标题 
seriesDefaults: {fill: true, 
showMarker: false, 
shadow: false, 
renderer:$.jqplot.PieRenderer, 
rendererOptions:{ 
diameter: undefined, // 设置饼的直径 
padding: 20, // 饼距离其分类名称框或者图表边框的距离,变相该表饼的直径 
sliceMargin: 9, // 饼的每个部分之间的距离 
fill:true, // 设置饼的每部分被填充的状态 
shadow:true, //为饼的每个部分的边框设置阴影,以突出其立体效果 
shadowOffset: 2, //设置阴影区域偏移出饼的每部分边框的距离 
shadowDepth: 5, // 设置阴影区域的深度 
shadowAlpha: 0.07 // 设置阴影区域的透明度 
} 
}, 
legend:{ 
show: true,//设置是否出现分类名称框(即所有分类的名称出现在图的某个位置) 
location: 'ne', // 分类名称框出现位置, nw, n, ne, e, se, s, sw, w. 
xoffset: 12, // 分类名称框距图表区域上边框的距离(单位px) 
yoffset: 12, // 分类名称框距图表区域左边框的距离(单位px) 
} 
});

完整的代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Simple Test</title> 
<!--[if IE]><script language="javascript" type="text/javascript" src="./excanvas.js"></script><![endif]--> 
<link rel="stylesheet" type="text/css" href="./jquery.jqplot.css" /> 
<script language="javascript" type="text/javascript" src="./jquery-1.3.2.min.js"></script> 
<script language="javascript" type="text/javascript" src="./jquery.jqplot.js"></script> 
<script language="javascript" type="text/javascript" src="./plugins/jqplot.pieRenderer.js"></script> 
<script type="text/javascript" language="javascript"> 
$(document).ready(function(){ 
line1 = [['frogs', 3], ['buzzards', 7], ['deer', 2.5], ['turkeys', 6], ['moles', 5], ['ground hogs', 4]]; 
plot1 = $.jqplot('chart', [line1], { 
title:'pieRenderer ',//设置饼状图的标题 
seriesDefaults: {fill: true, 
showMarker: false, 
shadow: false, 
renderer:$.jqplot.PieRenderer, 
rendererOptions:{ 
diameter: undefined, // 设置饼的直径 
padding: 20, // 饼距离其分类名称框或者图表边框的距离,变相该表饼的直径 
sliceMargin: 9, // 饼的每个部分之间的距离 
fill:true, // 设置饼的每部分被填充的状态 
shadow:true, //为饼的每个部分的边框设置阴影,以突出其立体效果 
shadowOffset: 2, //设置阴影区域偏移出饼的每部分边框的距离 
shadowDepth: 5, // 设置阴影区域的深度 
shadowAlpha: 0.07 // 设置阴影区域的透明度 
} 
}, 
legend:{ 
show: true,//设置是否出现分类名称框(即所有分类的名称出现在图的某个位置) 
location: 'ne', // 分类名称框出现位置, nw, n, ne, e, se, s, sw, w. 
xoffset: 12, // 分类名称框距图表区域上边框的距离(单位px) 
yoffset: 12, // 分类名称框距图表区域左边框的距离(单位px) 
} 
}); 
}); 
</script> 
</head> 
<body> 
<div id="chart" style="margin-top:20px; margin-left:20px; width:460px; height:500px;"></div> 
</body> 
</html>

生成图表展示如下:

jqPlot jquery的页面图表绘制工具

下面是一些其他类型的图标的截图:

1.多纵轴图

jqPlot jquery的页面图表绘制工具

2.带提示信息的甘特图

jqPlot jquery的页面图表绘制工具

3.以table方式展示提示信息的甘特图

jqPlot jquery的页面图表绘制工具

4.带提示信息的线状图(可拖动)

jqPlot jquery的页面图表绘制工具

对于jqPlot功能的具体介绍请关注本文的后续文章——jqPlot的Option配置对象详解。
Javascript 相关文章推荐
5 cool javascript apps
Mar 24 Javascript
javascript 写类方式之二
Jul 05 Javascript
JavaScript 用cloneNode方法克隆节点的代码
Oct 15 Javascript
jquery实现弹出层完美居中效果
Mar 03 Javascript
javasript实现密码的隐藏与显示
May 08 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
Jun 05 Javascript
实现非常简单的js双向数据绑定
Nov 06 Javascript
AngularJS 单元测试(一)详解
Sep 21 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
Oct 13 Javascript
vue router 跳转时打开新页面的示例方法
Jul 28 Javascript
Openlayers绘制地图标注
Sep 28 Javascript
IE DOM实现存在的部分问题及解决方法
Jul 25 #Javascript
从父页面读取和操作iframe中内容方法
Jul 25 #Javascript
javaScript 数值型和字符串型之间的转换
Jul 25 #Javascript
JavaScript中null与undefined分析
Jul 25 #Javascript
js 字符串操作函数
Jul 25 #Javascript
javaScript Array(数组)相关方法简述
Jul 25 #Javascript
对象特征检测法判断浏览器对javascript对象的支持
Jul 25 #Javascript
You might like
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
浅析php数据类型转换
2014/01/09 PHP
PHP多线程类及用法实例
2014/12/03 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
解读Python中degrees()方法的使用
2015/05/18 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
Django实现基于类的分页功能
2019/10/31 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Python PyQt5整理介绍
2020/04/01 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
小学教师评语大全
2014/04/23 职场文书
委托代理人授权委托书范本
2014/09/24 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
第一军规观后感
2015/06/12 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python