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 相关文章推荐
常用的javascript function代码
May 23 Javascript
jquery中的事件处理详细介绍
Jun 24 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
Mar 20 Javascript
JQuery中基础过滤选择器用法实例分析
May 18 Javascript
原生js编写autoComplete插件
Apr 13 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
Aug 08 Javascript
AngularJS应用开发思维之依赖注入3
Aug 19 Javascript
jQuery与js实现颜色渐变的方法
Dec 30 Javascript
微信小程序实战之登录页面制作(5)
Mar 30 Javascript
你可能不知道的JSON.stringify()详解
Aug 17 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
May 14 Javascript
jquery+ajax实现异步上传文件显示进度条
Aug 17 jQuery
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批量删除数据
2007/01/18 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
《鱼游到了纸上》教学反思
2014/02/20 职场文书
高一新生军训感言
2014/03/02 职场文书
大学生实习介绍信
2015/05/05 职场文书
道歉短信大全
2015/05/12 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
员工手册董事长致辞
2015/07/29 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书