一、准备工作

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

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

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

 <link href="css/jquery.jqplot.min.css" rel="stylesheet" />
<script src="js/jquery.min.js"></script>
<script src="js/jquery.jqplot.min.js"></script> <!--[if lt IE 9]>
<script src="js/excanvas.min.js"></script>
<![endif]-->
<script src="js/jqplot.canvasTextRenderer.js"></script>
<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的效果:

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

图1.1

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

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

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

图1.2

图1.3

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

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

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

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

图1.4

jqPlot图表插件学习之折线图-散点图-series属性的更多相关文章

  1. jqPlot图表插件学习之轴说明和label属性

    一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...

  2. jqPlot图表插件学习之饼状图和环状图

    一.准备工作 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载对应的js和css(因为笔者在VS2 ...

  3. jqPlot图表插件学习之阴阳烛图

    一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...

  4. jqPlot图表插件学习之柱形图和旋转分类名称

    一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...

  5. jqPlot图表插件学习之数据节点高亮和光标提示

    一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...

  6. jqPlot图表插件学习之ajax-json数据加载

    一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...

  7. Android绘图机制(四)——使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美

    Android绘图机制(四)--使用HelloCharts开源框架搭建一系列炫酷图表,柱形图,折线图,饼状图和动画特效,抽丝剥茧带你认识图表之美 这里为什么不继续把自定义View写下去呢,因为最近项目 ...

  8. 数据可视化基础专题(十一):Matplotlib 基础(三)常用图表(一)折线图、散点图、柱状图

    1 折线图 折线图主要用于表现随着时间的推移而产生的某种趋势. cat = ["bored", "happy", "bored", &quo ...

  9. DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)

    最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...

随机推荐

  1. Logstash使用jdbc_input同步Mysql数据时遇到的空时间SQLException问题

    今天在使用Logstash的jdbc_input插件同步Mysql数据时,本来应该能搜索出10条数据,结果在Elasticsearch中只看到了4条,终端中只给出了如下信息 [2017-08-25T1 ...

  2. Ubuntu系统重启后/etc/resolv.conf内容丢失的解决方案

    通过resolvconf实现配置 resolvconfig应用可以实现DNS信息管理,可以通过下面的应用来安装此组件: sudo apt-get install resolvconf 创建/etc/d ...

  3. 部署Percona XtraDB Cluster高可用和多Master集群

    http://www.it165.net/admin/html/201401/2306.html http://www.oschina.net/p/percona-xtradb-cluster/ ht ...

  4. python抽象类的实现方式:abc模块

    abc:abstract base class 文档:https://docs.python.org/zh-cn/3.7/library/abc.html 参考:https://www.cnblogs ...

  5. 【UOJ Easy Round #1】

    数论/Trie/并查集 猜数 这题我是这样分析的…… $a*b=g*l=n=k^2 \ and \ (g|a,g|b) \Rightarrow (g*a')*(g*b' )=g*l=k^2 \\ \R ...

  6. 百度统计数据的UV和IP为什么不一样?

    相信网站站长们在每天查看百度统计数据时会发现网站的IP和UV数据时大时小,有时候IP比UV大,有时候UV比IP大,站长们可能对这些情况感到奇怪.今天就和大家分享一下UV和IP的知识,帮助大家更好地做好 ...

  7. api重复引用导致的诡异问题排查

    api重复引用导致的诡异问题排查 最近一个项目上线前开发环境.测试环境都能正常打包并运行.然而到了准生产环境和生产环境则报一些诡异的错误信息: [INFO] --------------------- ...

  8. iOS蓝牙空中升级(固件升级)

    空中升级又叫固件升级,指你手机从服务器下载下来的包或者数据,通过蓝牙传输给你的外设升级固件.如果你能把蓝牙的基础搞懂,其实也并不是很难,我在这里只不过提供一下思路. 空中升级略难的地方在于数据处理和交 ...

  9. VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法

    下面是一篇文章比较详细,其实具体操作很简单,把Web Service服务地址,利用工具(VS2010),通过添加引用的形式,添加到项目中来就可以应用了. 大家如果这个地方不会操场的话,可以问问我QQ: ...

  10. pair练习

    /* 编写程序读入一些列string和int型数据,将每一组存储在一个pair对象中, 然后将这些pair对象存储在vector容器里. */ #include <iostream> #i ...