Wijmo 更优美的jQuery UI部件集:复合图表(CompositeChart)

简介: Wijmo的CompositeChart控件允许您使用一个Chart来分析和展现复杂的数据。相同的数据可以使用不同的可视化效果,不同的图表类型展现在一个图表内,使得用户可以从不同的角度,了解分析这组数据所表达的内容 。

Wijmo的CompositeChart控件允许您使用一个Chart来分析和展现复杂的数据。相同的数据可以使用不同的可视化效果,不同的图表类型展现在一个图表内,使得用户可以从不同的角度,了解分析这组数据所表达的内容 。

本文将介绍如何使用Wijmo的CompositeChart控件,制作一个复合图表。CompositeChart 的API:http://wijmo.com/wiki/index.php/Compositechart,Wijmo 的CompositeChart 化繁为简,将传统 Excel like图表中的三大区域: Plot Area, Legend Area, Label Area, 分离成为更为简单的API: SeriesList, Legend, Axis, Hint, 使得开发者更加容易的理解和使用。

Wijmo的CompositeChart 依赖于下面的这5个核心的JavaScript库:

raphael.js

globalize.min.js

jquery.ui.widget.js

jquery.wijmo.raphael.js

jquery.wijmo.wijchartcore.js

如果需要加入别的类型的Chart,需要再引入其它Chart类型的JavaScript库,这样可以使得开发者可以灵活定制并裁剪出适合自己用例的JavaScript库。例如本实例使用了 PieChart, BarChart, LineChart, 引入的JavaScript库如下:

jquery-1.7.1.min.js

jquery-ui-1.8.18.custom.min.js

globalize.min.js

raphael-min.js

jquery.wijmo.raphael.js

jquery.wijmo.wijchartcore.js

jquery.wijmo.wijbarchart.js

jquery.wijmo.wijpiechart.js

jquery.wijmo.wijlinechart.js

jquery.wijmo.wijcompositechart.js

写点代码,设置一下Chart :

$(document).ready(function () {

$("#wijcompositechart").wijcompositechart({

axis: {

y: {

text: "Total Hardware"

},

x: {

text: ""

}

},

stacked: false,

hint: {

content: function () {

return this.label + '\n ' + this.y + '';

}

},

header: {

text: "Hardware Distribution"

},

seriesList: [{

type: "column",

label: "West",

legendEntry: true,

data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [5, 3, 4, 7, 2] }

}, {

type: "column",

label: "Central",

legendEntry: true,

data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [2, 2, 3, 2, 1] }

}, {

type: "column",

label: "East",

legendEntry: true,

data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [3, 4, 4, 2, 5] }

}, {

type: "pie",

label: "asdfdsfdsf",

legendEntry: true,

center: { x: 150, y: 150 },

radius: 60,

data: [{

label: "MacBook Pro",

legendEntry: true,

data: 46.78,

offset: 15

}, {

label: "iMac",

legendEntry: true,

data: 23.18,

offset: 0

}, {

label: "MacBook",

legendEntry: true,

data: 20.25,

offset: 0

}]

}, {

type: "line",

label: "Steam1",

legendEntry: true,

data: {

x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'],

y: [3, 6, 2, 9, 5]

},

markers: {

visible: true,

type: "circle"

}

}, {

type: "line",

label: "Steam2",

legendEntry: true,

data: {

x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'],

y: [1, 3, 4, 7, 2]

},

markers: {

visible: true,

type: "tri"

}

}

]

});

});

 

代码不多,就有了下图的效果:

1

代码不多,很好分析:

--

axis: {

y: {

text: "Total Hardware"

},

x: {

text: ""

}

--

设置X,Y 轴。

---

stacked: false

---

设置Bar 为非stacked.

---

hint: {

content: function () {

return this.label + '\n ' + this.y + '';

}

},

---

设置鼠标 Tooltip.

---

header: {

text: "Hardware Distribution"

},

---

设置图表头.

----

seriesList: [{

type: "column",

label: "West",

legendEntry: true,

data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [5, 3, 4, 7, 2] }

}, {

type: "column",

label: "Central",

legendEntry: true,

data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [2, 2, 3, 2, 1] }

}, {

type: "column",

label: "East",

legendEntry: true,

data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [3, 4, 4, 2, 5] }

}, {

type: "pie",

label: "asdfdsfdsf",

legendEntry: true,

center: { x: 150, y: 150 },

radius: 60,

data: [{

label: "MacBook Pro",

legendEntry: true,

data: 46.78,

offset: 15

}, {

label: "iMac",

legendEntry: true,

data: 23.18,

offset: 0

}, {

label: "MacBook",

legendEntry: true,

data: 20.25,

offset: 0

}]

}, {

type: "line",

label: "Steam1",

legendEntry: true,

data: {

x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'],

y: [3, 6, 2, 9, 5]

},

markers: {

visible: true,

type: "circle"

}

}, {

type: "line",

label: "Steam2",

legendEntry: true,

data: {

x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'],

y: [1, 3, 4, 7, 2]

},

markers: {

visible: true,

type: "tri"

}

}

]

 

----

设置 SeriesList,每个Series 可以设置其type, label, legendEntry, data, 等等属性。 Series可以设置 SeriesStyles, 和 SeriesHoverStyles, 如:

seriesStyles: [{

fill: "#8ede43", stroke: "#7fc73c", opacity: 0.8

}],

seriesHoverStyles: [{

"stroke-width": "1.5", opacity: 1

}]

 

经过上面的设置,这个CompositeChart就设置好了。也可以使用Server返回的 Json 数据动态绑定生成Chart。

 

点击这里下载,本文实例代码。

 

Wijmo下载,请进入Studio for ASP.NET Wijmo 2012 v1正式发布(2012.03.22更新)!

相关文章
|
7月前
|
JavaScript 前端开发
百叶窗效果的jQuery幻灯片插件
百叶窗效果的jQuery幻灯片插件
|
7月前
|
JavaScript
jquery无限循环内容滑块插件
jquery无限循环内容滑块插件
|
7月前
|
JavaScript
简单轻量级的jquery图表插件
简单轻量级的jquery图表插件
|
7月前
|
JavaScript
jQuery响应式内容选项卡插件
jQuery响应式内容选项卡插件
|
7月前
|
JavaScript 前端开发
带完成百分比的jQuery表单插件
带完成百分比的jQuery表单插件
|
7月前
|
JavaScript 内存技术
支持多种动画特效的响应式jQuery幻灯片插件
支持多种动画特效的响应式jQuery幻灯片插件
|
9月前
jQuery+Slick插件实现游戏人物轮播展示切换源码
jQuery+Slick插件实现游戏人物轮播展示切换源码
113 14
|
10月前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
132 21
|
10月前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
278 16