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

一、准备工作

官网下载笔者选择的是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.pieRenderer.min.js"></script>
9 <script src="js/jqplot.donutRenderer.min.js"></script>

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

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

二、正文

这节我们将围绕饼状图展开介绍,首先是最常规的饼状图,所以我们这里就需要PieRenderer来负责渲染,所以必须要引用jqplot.pieRenderer 这个库,然后我们就通过一段代码来实现图1.1的效果:

 1         $(function () {
 2
 3             var data = [
 4             [‘Heavy Industry‘, 12], [‘Retail‘, 9], [‘Light Industry‘, 14],
 5             [‘Out of home‘, 16], [‘Commuting‘, 7], [‘Orientation‘, 9]
 6             ];
 7
 8             $.jqplot(‘chart‘, [data], {
 9                 seriesDefaults: {
10                     renderer: $.jqplot.PieRenderer,
11                     rendererOptions: {
12                         showDataLabels: true
13                     }
14                 },
15                 legend: {
16                     show: true,
17                     location: "e"
18                 }
19             });
20         });

其中没有什么需要特别说明的,通过前面几节的学习,大家一定知道renderer属性的含义,也能够明白以后只要是显示非折线,就会使用到这个属性来指定图表,而rendererOptions则是对renderer设置的图表的附加属性,所以具体的参数项要根据具体使用的图表而定,比如这里使用了饼状图,所以showDataLabels则表示饼状图中是否显示所占比例数。最后一个就是legend了,用来指定不同颜色所对应的数据项。

图1.1

除了这种最普通的饼状图,我们还可以制作出其他的饼状图,比如下面的代码我们通过rendererOptions中的部分属性将可以制作出图1.2所示的饼状图:

 1         $(function () {
 2
 3             var data = [
 4             [‘Heavy Industry‘, 12], [‘Retail‘, 9], [‘Light Industry‘, 14],
 5             [‘Out of home‘, 16], [‘Commuting‘, 7], [‘Orientation‘, 9]
 6             ];
 7
 8             $.jqplot(‘chart‘, [data], {
 9                 seriesDefaults: {
10                     renderer: $.jqplot.PieRenderer,
11                     rendererOptions: {
12                         showDataLabels: true,
13                         fill: false,
14                         lineWidth: 5,
15                         sliceMargin: 4
16                     }
17                 },
18                 legend: {
19                     show: true,
20                     location: "e"
21                 }
22             });
23         });

这里的fill表示是否填充整个饼状图,另外两个属性通过字面的意思也能够得出分别是边框宽度和外边距。

图1.2

当然还有跟饼状图类似的图形,只是它不仅仅只是外面有,内部还有一个环,它的名字就是环状图,通过下面的代码我们将创建图1.3的环状图:

 1         $(function () {
 2
 3             var s1 = [[‘a‘, 6], [‘b‘, 8], [‘c‘, 14], [‘d‘, 20]];
 4             var s2 = [[‘a‘, 8], [‘b‘, 12], [‘c‘, 6], [‘d‘, 9]];
 5
 6             $.jqplot(‘chart‘, [s1,s2], {
 7                 seriesDefaults: {
 8                     renderer: $.jqplot.DonutRenderer,
 9                     rendererOptions: {
10                         showDataLabels: true,
11                         sliceMargin: 4,
12                         dataLabels: ‘value‘,
13                         startAngle: -90
14                     }
15                 },
16                 legend: {
17                     show: true,
18                     location: "e"
19                 }
20             });
21         });

其中rendererOptions中又多了几个属性,分别是dataLabelsstartAngledataLabels表示showDataLabels显示的数据是显示百分比还是直接显示数据中的数字,而startAngle则表示环状图起始的位置,比如这里的-90表示从12点钟方向开始,默认是从9点钟方向顺时针开始的。

图1.3

时间: 2024-11-05 12:25:59

jqPlot图表插件学习之饼状图和环状图的相关文章

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

一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载对应的js和css(因为笔者在VS2012环境下新建的,并且所需的js和css都会对应的放到js和css文件夹下,请读者根据自己的情况修正加载的路径). 1 <link href="css/jquery.jqplot.min.css" rel="stylesheet&quo

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

一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载对应的js和css(因为笔者在VS2012环境下新建的,并且所需的js和css都会对应的放到js和css文件夹下,请读者根据自己的情况修正加载的路径). 1 <link href="css/jquery.jqplot.min.css" rel="stylesheet&quo

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

一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载对应的js和css(因为笔者在VS2012环境下新建的,并且所需的js和css都会对应的放到js和css文件夹下,请读者根据自己的情况修正加载的路径). 1 <link href="css/jquery.jqplot.min.css" rel="stylesheet&quo

Android图表库MPAndroidChart(八)——饼状图的扩展:折线饼状图

Android图表库MPAndroidChart(八)--饼状图的扩展:折线饼状图 我们接着上文,饼状图的扩展,增加折现的说明,来看下我们要实现的效果 因为之前对MPAndroidChart的熟悉,所有我们就可以直接来实现了 一.基本实现 首先,就是我们的来看下他的定义布局 <com.github.mikephil.charting.charts.PieChart android:id="@+id/mPieChart" android:layout_width="mat

Android图表库MPAndroidChart(七)—饼状图可以再简单一点

Android图表库MPAndroidChart(七)-饼状图可以再简单一点 接上文,今天实现的是用的很多的,作用在统计上的饼状图,我们看下今天的效果 这个效果,我们实现,和之前一样的套路,我先来说下这个的应用场景,假设,我是一名小学老师,现在教务处让我设置一个图表,说明下我带的班级期末考试有多少人优秀,多少人及格和不及格等等,而这些呢,我已经算出来百分比了,只剩下画图了,那好,我们就来实现以下吧 一.基本实现 首先是我们的布局 <com.github.mikephil.charting.cha

jqPlot图表插件使用说明(二)

柱状图 在jqPlot图表插件使用说明(一)中,我们已经可以通过jqPlot绘制出比较简单的线形图.通过查看源代码,我们也可以看出,线形图是jqPlot默认的图表类型: /** * Class: Series * An individual data series object. Cannot be instantiated directly, but created * by the Plot oject. Series properties can be set or overriden b

使用JS charts来画图表(二)——饼状图

如上是一个饼状图: 代码如下: <html> <head> <title>部门管理</title> <script type="text/javascript" src="codebase/jscharts.js"></script> </head> <body> <div id="graph">Loading graph...</d

使用D3绘制图表(7)--饼状图

这次是绘制饼状图,也是这一次使用D3绘制图表的最后一篇,大家可以从其他地方深入学习D3绘制图表,也可以直接查看D3的API进行学习,本次绘制饼状图的数据跟之前的卸载数组里面的不一样,这一次是使用d3的csv(url)函数读取的一个data.csv文件,在此声明,如果网页的编辑器不是使用自带的服务器打开网页的那就会读取不了csv文件报错,我这里使用的HBuilder,一款还不错的编辑器. 1.data.csv文件,以键值对的形式书写 education,population 大专及以上,11964

图表插件--jqplot交互演示样例

简单交互 在之前的学习中,我们已经能够绘制各种类型的图表,也能够给图表加入不同的组件,如标题.图例等等.但这些图表仅仅能用于展示数据,一旦希望对图表有所操作--比方查看数据明细--就显得束手无策了.事实上jqPlot是提供了图表事件交互功能的,且实现起来,也相当的简单.接下来我们要做的就是,学习假设监听图表事件,并对事件进行处理. 在jqPlot的源代码中,我们可以看到这种代码片段: [javascript] view plaincopy ** * Class: jqPlot * Plot ob