jqPlot图表插件学习之柱形图和旋转分类名称
一、准备工作
首先我们需要到官网下载所需的文件:
官网下载(笔者选择的是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.canvasAxisTickRenderer.min.js"></script>
<script src="js/jqplot.canvasTextRenderer.js"></script>
<script src="js/jqplot.canvasAxisLabelRenderer.js"></script>
<script src="js/jqplot.categoryAxisRenderer.min.js"></script>
<script src="js/jqplot.barRenderer.min.js"></script>
其中最后五个js文件在plugins下,今后会经常使用到这个文件夹下的文件,因为他们是很多扩展功能所需的文件。除了引用基本的文件之后我们还需要放置一个占位符用来作为图表的容器,我们需要放置一个宽度为500高度为300的DIV:
<div id="chart" style="width:500px;height:300px;" ></div>
二、正文
通过前面两节的学习,都仅仅只是折线图,而本节我们将学习柱形图,当然这个柱形图还仅仅只是入门级别的,下面我们将演示如何制作出图1.1的图表:
var line1 = [['Cup Holder Pinion Bob', 7], ['Generic Fog Lamp', 9], ['HDTV Receiver', 15],
['8 Track Control Module', 12], [' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6], ['Hair Spray Danger Indicator', 18]]; $.jqplot('chart1', [line1], {
title: '柱状图',
series: [{ renderer: $.jqplot.BarRenderer }],
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
其中series属性在第一节就介绍过了,主要是控制传递给jqplot第二个参数对应索引的数据用什么图表去呈现,这里指定的是柱形图。但是只指定这个还不行,因为line1不仅仅只是数据还包括每个数据对应的名称,所以我们还需要指定X轴显示分类名称,所以要指定xaxis的renderer属性。
图1.1

我们可以看到X轴显示的字都重叠在一起了,默认情况下这些字是不会自己旋转的,而需要借助于canvasAxisTickRenderer插件才可以,所以下面我们指定axesDefaults的tickRenderer为该引擎,并设置X轴和Y轴显示的尺度都旋转(图1.2):
var line1 = [['Cup Holder Pinion Bob', 7], ['Generic Fog Lamp', 9], ['HDTV Receiver', 15],
['8 Track Control Module', 12], [' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6], ['Hair Spray Danger Indicator', 18]]; $.jqplot('chart1', [line1], {
title: '柱状图',
series: [{ renderer: $.jqplot.BarRenderer }],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
fontFamily: 'Georgia',
angle: -30,
fontSize: '10pt'
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
这样我们就可以解决分类名称过长的情况了。
图1.2

从图中我们可以看到X轴的标记都是以尾部对齐的,而Y轴则以中间部分对其的,当然我们也可以修改他们的对齐方式,只要在tickOptions中加上labelPosition属性并指定对应的对其方式即可,比如下面我们将设置为头部对其(图1.3):
var line1 = [['Cup Holder Pinion Bob', 7], ['Generic Fog Lamp', 9], ['HDTV Receiver', 15],
['8 Track Control Module', 12], [' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6], ['Hair Spray Danger Indicator', 18]]; $.jqplot('chart1', [line1], {
title: '柱状图',
series: [{ renderer: $.jqplot.BarRenderer }],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
fontFamily: 'Georgia',
angle: -30,
fontSize: '10pt',
labelPosition: 'start'
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
图1.3

在第一节中我们设置了四条折线图,在柱形图中我们既然可以加上一条折线图,并以顶部的轴为X轴,右边的轴为Y轴标注刻度,而我们只需要修改上面的代码为如下形式即可(图1.4):
var line1 = [['Cup Holder Pinion Bob', 7], ['Generic Fog Lamp', 9], ['HDTV Receiver', 15],
['8 Track Control Module', 12], [' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6], ['Hair Spray Danger Indicator', 18]]; var line2 = [['Nickle', 28], ['Aluminum', 13], ['Xenon', 54], ['Silver', 47],
['Sulfer', 16], ['Silicon', 14], ['Vanadium', 23]]; $.jqplot('chart1', [line1, line2], {
title: '柱状图',
series: [{ renderer: $.jqplot.BarRenderer },
{ xaxis: 'x2axis', yaxis: 'y2axis' }], //指定第二个图表以顶部为X轴,右边为Y轴进行刻度
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
fontFamily: 'Georgia',
angle: -30,
fontSize: '10pt',
labelPosition: 'start'
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
},
yaxis: {
autoscale: true
},
x2axis: {
renderer:$.jqplot.CategoryAxisRenderer //指定X轴显示分类
},
y2axis: {
autoscale: true
}
}
});
这里需要提示下的是series属性中x2axis和y2axis,如果读者把数字改变会导致图表不显示,并且我们可以看到第二个图表是以折线的形式呈现的,因为我们没有指定第二个图表的形式,则默认使用折线,当然读者也可以尝试指定第二个图表的呈现形式为柱形图。
图1.4

jqPlot图表插件学习之柱形图和旋转分类名称的更多相关文章
- jqPlot图表插件学习之数据节点高亮和光标提示
一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...
- jqPlot图表插件学习之折线图-散点图-series属性
一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...
- jqPlot图表插件学习之饼状图和环状图
一.准备工作 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载对应的js和css(因为笔者在VS2 ...
- jqPlot图表插件学习之阴阳烛图
一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...
- jqPlot图表插件学习之ajax-json数据加载
一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...
- jqPlot图表插件学习之轴说明和label属性
一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...
- 图表插件--jqplot交互演示样例
简单交互 在之前的学习中,我们已经能够绘制各种类型的图表,也能够给图表加入不同的组件,如标题.图例等等.但这些图表仅仅能用于展示数据,一旦希望对图表有所操作--比方查看数据明细--就显得束手无策了.事 ...
- [开发笔记]-Jqplot图表初体验
文章内容为初次使用Jqplot图表插件的测试代码,仅供参考. <html xmlns="http://www.w3.org/1999/xhtml"> <head& ...
- 一款可定制的外国jQuery图表插件jqplot
jqPlot是一个jQuery绘图插件,可以利用它制作漂亮的线状图和柱状图.jqPlot支持为图表设置各种不同的样式.提供Tooltips,数据点高亮显示等功能. 用法: 1.引入jQuery类库和相 ...
随机推荐
- [转]缓慢但胜在稳健,HBase大势已成
CSDN Hbase : http://www.csdn.net/tag/hbase 在NoSQL数据库领域,统治产品无疑当属MongDB和DataStax Enterprise(一个领先的Apach ...
- 企业高并发的成熟解决方案(一)----搭建LVS负载均衡
企业整个架构分析 1. App服务器上边部署应用,如果是java的话,一般是tomcat: 2. 负载均衡服务器负责转发请求,这种既有主机又有备机的负载均衡成为高可用(HA): 3. 一般web服务器 ...
- OA系统权限管理设计方案【转】
l 不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本的功能. l 可以对“组”进行权限分配.对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是 ...
- verilog语法实例学习(6)
函数和任务 函数 https://wenku.baidu.com/view/d31d1ba8dd3383c4bb4cd283.html verilog中函数的目的是允许代码写成模块的方式而不是定义独立 ...
- 一些NLP相关的JD,作参考
NLP 应用研发工程师 - AI Lab工作城市: 上海岗位描述:1.用户搜索意图识别,分词和词性标注,实体词标注 2.利用机器学习.NLP 技术优化文本分类.语义理解及信息抽取岗位要求:1.有自然语 ...
- 7.3 netty3基本使用
由于dubbo默认使用的是netty3进行通信的,这里简单的列出一个netty3通信的例子. 一 server端 1 Server package com.hulk.netty.server; imp ...
- C#高级编程六十六天----表达式树总结【转】
https://blog.csdn.net/shanyongxu/article/details/47257139 表达式树总结 基础 表达式树提供了一个将可执行代码转换成数据的方法.如果你要在执行代 ...
- cesium js学习一加载三维模型【转】
http://blog.csdn.net/tangyajun_168/article/details/50936698 最近项目中用到室外三维模型与室内三维地图交互,室外三维模型的加载我们采用了ces ...
- B/S架构中常用弹出方法 (转)
<一> 在B/S架构的项目中,为了提高项目的易用性,增强系统与用户的交互功能,一般使用弹出页面来为用户提供操作或数据选择帮助信息,比如,用户输入一个编码中某些字符,在弹出页面中显示所有包含 ...
- 在XP系统中,如何让添加新管理员帐户和原来的管理员帐户同时存在
一.有新账户后administrator账户会自动隐藏的,如果你要用administrator账户登录的话,就机器启动到选账户那里用ctrl+alt+del软启动,然后就可以输入账户名administ ...