`

jqPlot——基于jquery的页面图表绘制工具

 
阅读更多

摘自http://gaoyusi.blog.163.com/blog/static/294042532009620020236/     

    可能是个人认识能力有限,一直认为仅仅靠html是很难展现稍具动态的图表的,但是在看到jqPlot之后,我的认识有了很大改变,jqplpt——基于HTML的图表展示插件,而且不生成图片,最可贵的是能生成类似flex的数据动态提示以及动态改变数据展示范围等等。

     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的页面图表绘制工具 - gaoyusi - My code life

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

1.多纵轴图

jqPlot——基于jquery的页面图表绘制工具 - gaoyusi - My code life

2.带提示信息的甘特图

jqPlot——基于jquery的页面图表绘制工具 - gaoyusi - My code life

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

jqPlot——基于jquery的页面图表绘制工具 - gaoyusi - My code life

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

jqPlot——基于jquery的页面图表绘制工具 - gaoyusi - My code life

对于jqPlot功能的具体介绍请关注本文的后续文章——jqPlot的Option配置对象详解。
分享到:
评论

相关推荐

    jqplot (基于jquery的免费的图表工具)

    jqPlot 是一个基于 jQuery 的开源图表绘制库,它提供了一系列强大的功能,用于创建各种各样的动态和交互式的图表,如曲线图、柱状图、饼图等。jqPlot 的核心优势在于其灵活性和易用性,使得开发者能够轻松地在网页上...

    网页模板——基于jQuery实现的数字摇奖老虎机效果源码.zip

    网页模板——基于jQuery实现的数字摇奖老虎机效果源码

    网页模板——基于jQuery实现自动生成代码行号特效源码.zip

    网页模板——基于jQuery实现自动生成代码行号特效源码是一个用于增强代码展示功能的解决方案,主要针对编程教学、代码分享网站或在线编辑器等场景。jQuery库因其轻量级、易用性和丰富的插件生态而广受欢迎,这个模板...

    jqPlot jquery的页面图表绘制工具

    jqPlot是基于jQuery的一款强大的页面图表绘制工具,它允许开发者轻松地在网页上创建各种复杂的图表,如线状图、饼状图、柱状图等。这个库通过jqplot.js作为基础,然后根据不同的图表类型引入相应的插件文件。例如,...

    网页模板——基于jquery插件实现的发光倒计时.zip

    总结来说,"网页模板——基于jQuery插件实现的发光倒计时"是一个结合了JavaScript时间处理、jQuery动画技术和CSS3过渡效果的实用工具。它不仅可以提升网站的视觉吸引力,还能有效地提醒用户关注即将到来的重要事件。...

    网页模板——基于jQuery实现的打飞机游戏源码.zip

    【标题】"网页模板——基于jQuery实现的打飞机游戏源码.zip" 提供的是一个使用JavaScript库jQuery构建的在线打飞机游戏的完整源代码。这个项目可能是为了教学目的或者个人娱乐而设计的,旨在帮助开发者了解如何利用...

    网页模板——基于jQuery Bootstrap3的文本编辑器特效源码.zip

    该压缩包文件“网页模板——基于jQuery Bootstrap3的文本编辑器特效源码.zip”提供了一个网页模板,这个模板特别设计用于实现基于jQuery和Bootstrap3的文本编辑器特效。jQuery是JavaScript库,它简化了HTML文档遍历...

    网页模板——基于jquery的图像悬停焦点效果制作.zip

    本资源"网页模板——基于jquery的图像悬停焦点效果制作.zip"专注于一个常见的网页设计元素:图像悬停焦点效果。这个效果通常用于增强用户体验,使用户在鼠标悬停在图片上时能看到更丰富的信息或动态变化,比如放大、...

    网页模板——基于jquery来实现图片滑动门效果.zip

    本资源“网页模板——基于jquery来实现图片滑动门效果.zip”提供了使用JavaScript库jQuery实现这一效果的具体方案。 jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务,...

    网页模板——基于jQuery实现的彩色网页滚动条代码.zip

    本资源"网页模板——基于jQuery实现的彩色网页滚动条代码.zip"提供了一种使用JavaScript库jQuery来定制网页滚动条样式的方法,使滚动条与网页整体设计更加协调,增加了网页的美观度。 首先,jQuery是一个广泛使用的...

    网页模板——基于jQuery Tipso插件实现消息提示框特效源码.zip

    【网页模板——基于jQuery Tipso插件实现消息提示框特效源码】 在网页设计与开发中,用户交互体验是至关重要的。为了提升用户体验,我们常常需要在用户操作后提供反馈,比如点击按钮后的提示信息、表单验证错误等。...

    网页模板——基于jQuery的左右带箭头的图片浏览控制插件.zip

    这个“网页模板——基于jQuery的左右带箭头的图片浏览控制插件”提供了一个高效、易用的解决方案。下面我们将深入探讨该插件的核心概念、工作原理以及如何在实际项目中应用。 1. jQuery库基础:jQuery 是一个流行的...

    基于jQuery的图表库

    标题“基于jQuery的图表库”暗示了我们将讨论的焦点是那些利用jQuery框架开发的用于创建图表的工具。这些图表库通常提供API和各种选项,允许开发者定制图表的颜色、大小、类型等,以适应不同的项目需求。 描述中的...

    网页模板——基于jquery实现的页面右下角的反馈控件脚本.zip

    这个基于jQuery实现的页面右下角反馈控件脚本,旨在创建一个不打扰用户浏览,但在需要时易于访问的交互式组件。 首先,jQuery是一个快速、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作以及Ajax...

    jQuery插件:jqplot图表绘制插件详解

    jqPlot是基于jQuery的一款强大的数据可视化插件,它允许开发者轻松地在网页上创建各种复杂的图表,包括折线图、柱状图、饼图以及散点图等多种图表类型。这款插件以其丰富的自定义选项、良好的性能和易用性而受到...

    网页模板——基于jQuery仿ios5 通知中心弹出振动插件效果.zip

    这个压缩包文件"网页模板——基于jQuery仿ios5 通知中心弹出振动插件效果.zip"包含了实现这种效果所需的资源和代码,帮助网页设计师和开发者在他们的项目中轻松集成这一功能。 首先,我们要理解jQuery库在其中的...

    网页模板——基于jQuery实现的曲线路径焦点图动画效果源码.zip

    该资源是一个基于jQuery库实现的网页模板,特别之处在于它包含了一个独特的焦点图动画效果,该效果沿着曲线路径展示图片,为网站增添了视觉吸引力。在深入探讨这个模板之前,我们首先了解一下jQuery及其在网页开发中...

    网页模板——基于jQuery+css3实现下载按钮进度条特效源码.zip

    这个基于jQuery和CSS3实现的下载按钮进度条源码,就是一种实用且美观的技术实现,它能清晰地向用户展示文件下载的进度,使得交互更加直观。 首先,我们来了解jQuery。jQuery是一个高效、简洁的JavaScript库,它简化...

    jquery.jqplot.0.9.3.zip

    强大的Jquery图表绘制插件 —— jqPlot jqPlot是一款基于jquery类库的图标绘制插件。通过jqPlot可以再网页中绘制线状、柱状、饼状等多种样式图表。而且,jqPlot具有插件可扩展性(Pluggability),你可以编写自己的...

Global site tag (gtag.js) - Google Analytics