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 相关文章推荐
一个可绑定数据源的jQuery数据表格插件
Jul 17 Javascript
js制作的鼠标悬浮时产生的下拉框效果
Oct 27 Javascript
jQuery中change事件用法实例
Dec 26 Javascript
js如何实现淡入淡出效果
Nov 18 Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
基于layPage插件实现两种分页方式浅析
Jul 27 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
Aug 09 Javascript
layui导出所有数据的例子
Sep 10 Javascript
js实现省级联动(数据结构优化)
Jul 17 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
Sep 10 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中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
php实现点击可刷新验证码
2015/11/07 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
JavaScript 数组运用实现代码
2010/04/13 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
Python代码的打包与发布详解
2014/07/30 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
numpy.random模块用法总结
2019/05/27 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
高中生毕业自我鉴定
2013/10/10 职场文书
海南地接欢迎词
2014/01/14 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
经济贸易系求职信
2014/08/04 职场文书
全陪导游词
2015/02/04 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
2015年检验科工作总结
2015/04/27 职场文书
Python基础详解之邮件处理
2021/04/28 Python
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python