jqPlot图表插件学习之折线图-散点图-series属性

一、准备工作

      首先我们需要到官网下载所需的文件:

官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本

 

      然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载对应的js和css(因为笔者在VS2012环境下新建的,并且所需的js和css都会对应的放到js和css文件夹下,请读者根据自己的情况修正加载的路径

1 <link href="css/jquery.jqplot.min.css" rel="stylesheet" />
2 <script src="js/jquery.min.js"></script>
3 <script src="js/jquery.jqplot.min.js"></script>
4     
5 <!--[if lt IE 9]>
6     <script src="js/excanvas.min.js"></script>
7 <![endif]-->
8 <script src="js/jqplot.canvasTextRenderer.js"></script>
9 <script src="js/jqplot.canvasAxisLabelRenderer.js"></script>

 

 

      其中最后两个js文件在我们下载的文件的plugins文件夹下,今后会经常使用到这个文件夹下的文件,因为他们是很多扩展功能所需的文件。除了引用基本的文件之后我们还需要放置一个占位符用来作为图表的容器,我们需要放置一个宽度为500高度为300的DIV:

<div id="chart" style="width:500px;height:300px;" ></div>

 

 

 

二、正文

      这里我们将介绍最简单的折线图,因为折线图只需要指定一组值即可,最终会将这些值用Y轴进行表示,而X轴则表示是第几个,比如我们在页面中写入如下的js语句后将可以看到图1.1的效果:

1 $(function () {
2      $.jqplot('chart', [[1, 2, 3, 4, 5, 6, 7, 8, 9]]);
3 });

 

 

图1.1

 

 

      其中我们省略了第三个参数,所以呈现的效果是默认的,下面我们将学习第三个参数的使用,从而可以制作出各种各样的图表。我们可以看到这个图表跟我们实际生活中见到的图表差距很大,首先没有一个标题,在Y轴和X轴上也没有对应的说明,下面我们将充实它,我们将上面的js脚本改写成如下后将可以看到图1.2的效果:

 1         $(function () {
 2             $.jqplot('chart', [[1, 2, 3, 4, 5, 6, 7, 8, 9]], {
 3                 title: "折线图", //图表标题
 4                 axesDefaults: {
 5                     labelRenderer: $.jqplot.CanvasAxisLabelRenderer //设置X和Y轴的说明文字的渲染引擎
 6                 },
 7                 axes: {
 8                     xaxis: {
 9                         label: "X轴", //指定X轴的说明文字
10                         pad: 0 //指定X轴的缩放因子,当这个值大于1后我们的图表会缩放
11                     },
12                     yaxis: {
13                         label: "Y轴" //指定Y轴的说明文字
14                     }
15                 }
16             });
17         });

 

      虽然其中已经对部分参数进行了说明,但是我们还需要理解axesDefaultsaxes之间的关系,其中axesDefaults中的设置会针对所有方向轴,而axes则可以让我们单独的指定X轴的设置或者Y轴的设置,当然实际中并不是只有这两个轴,后面我们会学习到他们(如果读者不设置labelRenderer则X轴和Y轴的显示效果如图1.3所示

 

图1.2

 

 

图1.3

 

 

注:这里我们可以认识到jqPlot的强大,它将很多的功能都以插件的方式单独放置各个js文件中,并且在我们需要使用时引入并设置对应的引擎即可,就好比这个的labelRenderer。

 

 

      前面的例子我们都只显示一条折线,下面的我们将会在上面显示四条折线,并且我们还会设置不同折线的样式,我们将上面的改写成如下后将可以看到图1.4的效果:

 1         $(function () {
 2             $.jqplot('chart', [[1, 2, 3, 4, 5, 6, 7, 8, 9],
 3                 [-1, -2, -3, -4, -5, -6, -7, -8, -9],
 4                 [11, 12, 13, 14, 15, 16, 17, 18, 19],
 5                 [-11, -12, -13, -14, -15, -16, -17, -18, -19]], {
 6                 title: "折线图", //图表标题
 7                 axesDefaults: {
 8                     labelRenderer: $.jqplot.CanvasAxisLabelRenderer  //设置X和Y轴的说明文字的渲染引擎
 9                 },
10                 axes: {
11                     xaxis: {
12                         label: "X轴", //指定X轴的说明文字
13                         pad: 0 //指定X轴的缩放因子,当这个值大于1后我们的图表会缩放
14                     },
15                     yaxis: {
16                         label: "Y轴" //指定Y轴的说明文字
17                     }
18                 },
19                 series: [{
20                     lineWidth: 2, //指定折线的宽度
21                     markerOptions: { style: "dimaond" } //指定折线的样式
22                 },
23                 {
24                     showLine: false, //指定是否显示线条
25                     markerOptions: { size: 7, style: "x" } //size设置每个节点的大小
26                 },
27                 {
28                     markerOptions: { style: "circle" }
29                 },
30                 {
31                     lineWidth: 5,
32                     markerOptions: { style: "filledSquare", size: 10 }
33                 }
34                 ]
35             });
36         });

      其中我们又学了新的属性series,这个属性的作用是用来设置每个线条的属性,而它的类型是数组,根据上面的学习我们也能够得出一定存在seriesDefaults属性。而最后的呈现样式会顺序的设置,如果有5组数据,则会从1开始套用到第4个然后再回到第1个样式继续赋予。

 

图1.4

 

转载于:https://www.cnblogs.com/yaozhenfa/p/jqplot-line-charts-scatter-plots-and-series-options.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js基础:数据存储

无服务器的数据存储 内存存储 var http require(http); var count 0; //服务器访问次数存储在内存中 http.createServer(function(req,res){res.write(hello count);res.end(); }).listen(3000);    基于文件的存储 node.js中主要用fs文件系统模块来管理文件的存储。 文件…

CUDA 6.5 VS2013 Win7:创建CUDA项目

运行环境&#xff1a; Win7VS2013CUDA6.5 1.创建win32空项目 2.右键项目解决方案-->生成项目依赖项-->生成自定义 3.右键项目解决方案-->属性-->配置属性-->常规-->平台工具集 配置属性-->VC目录-->包含目录&#xff0c;添加 $(CUDA_INC_PATH) 连接器-…

c/c++编码规范(2)--作用域

2. 作用域 静止使用class类型的静态或全局变量。 6. 命名约定 6.1. 函数名&#xff0c;变量名&#xff0c;文件名要有描述性&#xff0c;少用缩写。 6.2. 文件命名 6.2.1. 文件名要全部用小写。可使用“_”或"-"&#xff0c;遵从项目规范&#xff0c;没有规范&#x…

subversion svnserver服务启动与配置

svnserve 是一个轻量级的服务&#xff0c; 使用自定义的协议通过TCP/IP与客户端通讯。 客户端通过由 svn:// 或者 svnssh:// 开始的URL访问svnserve服务器。 启动服务器 端口监控&#xff08;inetd&#xff09;模式 如果你打算用端口监控来启动处理客户的访问请求的进程&#x…

mongodb地理空间索引原理阅读摘要

http://www.cnblogs.com/taoweiji/p/3710495.html 具体原理在上面 简单概述&#xff0c;&#xff08;x,y&#xff09;经纬度坐标&#xff0c;通过geohash的方式&#xff0c;通过N次方块四分割生成一个坐标码&#xff0c;然后用坐标码进行BTREE的索引建立转载于:https://www.cnb…

angular 页面加载时可以调用 函数处理

转载于 作者:海底苍鹰地址:http://blog.51yip.com/jsjquery/1599.html 我希望页面加载的时候&#xff0c;我能马上处理页面的数据&#xff0c;如请求API .... 所以这样设置 在某个页面的控制器中 监听页面load phonecatControllers.controller(registerctr, [$scope, $routePa…

删除排序数组中的重复项

给定一个排序数组&#xff0c;你需要在原地删除重复出现的元素&#xff0c;使得每个元素只出现一次&#xff0c;返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums [1,1,2…

android 处理鼠标滚轮事件 【转】

android处理鼠标滚轮事件&#xff0c;并不是如下函数&#xff1a; 1&#xff09; public boolean onKeyDown(int keyCode, KeyEvent event) 2) public boolean dispatchKeyEvent(KeyEvent event) 3) public boolean onTouchEvent(MotionEvent event) 而是如下函数 …

ASP.NET数据报表之柱状图 ------工作日志

#region 柱形色调 /// <summary> /// 柱形色调 /// </summary> private string[] myColor new string[] { "DarkGreen", "DimGray", "DodgerBlue", "Orchid", //Peru "Orange", "Orchid", &q…

接口安全--签名验证

为防止第三方冒充客户端请求服务器&#xff0c;可以采用参数签名验证的方法&#xff1a; 将请求参数中的各个键值对按照key的字符串顺序升序排列&#xff08;大小写敏感&#xff09;&#xff0c;把key和value拼成一串之后最后加上密钥&#xff0c;组成key1value1key2value2PRIV…

Runtime类

Runtime类也在java.lang包中&#xff0c;这个类没有提供构造器&#xff0c;但是提供的却非静态方法&#xff0c;而是在方法中提供了一个静态方法来返回当前进程的Runtime实例&#xff0c;采用的单例设计模式。 其作用&#xff1a;可以对当前java程序进程进行操作、打开本机程序…

Spring MVC 返回NULL时客户端用$.getJSON的问题

如果Spring MVC返回是NULL&#xff0c;那么客户端的$.getJSON就不会触发&#xff1b; 20170419补充 后台的输出为&#xff1a; DEBUG [org.springframework.web.servlet.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name springMVC: assuming …

duilib设置滚动条自动滚动到底

控件属性中添加 vscrollbar"true" autovscroll"true"分别是启用竖向滚动条&#xff0c;是否随输入竖向滚动

MVC,MVP 和 MVVM 的图示

复杂的软件必须有清晰合理的架构&#xff0c;否则无法开发和维护。 MVC&#xff08;Model-View-Controller&#xff09;是最常见的软件架构之一&#xff0c;业界有着广泛应用。它本身很容易理解&#xff0c;但是要讲清楚&#xff0c;它与衍生的 MVP 和 MVVM 架构的区别就不容易…

Java JDBC学习实战(二): 管理结果集

在我的上一篇博客《Java JDBC学习实战&#xff08;一&#xff09;&#xff1a; JDBC的基本操作》中&#xff0c;简要介绍了jdbc开发的基本流程&#xff0c;并详细介绍了Statement和PreparedStatement的使用&#xff1a;利用这两个API可以执行SQL语句&#xff0c;完成基本的CURD…

error: storage size of ‘threads’ isn’t known

出错的代码行&#xff1a; pthread_t threads[NUM_THREADS];原因&#xff1a; NUM_THREADS 无值 原先&#xff1a; #define NUM_THREADS修改为 #define NUM_THREADS 5

android之相机开发

http://blog.csdn.net/jason0539/article/details/10125017 android之相机开发 分类&#xff1a; android 基础知识2013-08-20 22:32 9774人阅读 评论(2) 收藏 举报Android在android中应用相机功能&#xff0c;一般有两种&#xff1a;一种是直接调用系统相机&#xff0c;一种自…

文件和文件夹权限-Win7公共盘中出现大量临时文件

公司中有一个文件服务器&#xff0c;给不同部门和员工设置了不同的权限&#xff0c;最近有员工&#xff08;没有修改权限&#xff0c;有读取及执行,读取,写入&#xff09;反映在公共盘上修改文件的时候会产生大量的临时文件&#xff0c;添加上修改权限之后就可以了&#xff0c;…

Duilib编辑框Edit输入完自动跳到下一个编辑框

首先xml文件中设置edit的maxchar参数&#xff0c;默认255好像。 <edit maxchar"10" />然后在notify函数中加入以下代码 if (msg.sType _T("textchanged")) {if (static_cast<CEditUI*>(msg.pSender)->GetMaxChar() msg.pSender->GetT…

Mysql数据库安全管理配置

1.删除test库 原因&#xff1a; The default MySQL installation comes with a database named test that anyone can access. This database is intended only for tutorials, samples, testing, etc. Databases named "test" and also databases with names starti…