教你开发一款极为简单实用的jQuery图表插件

这里介绍一款简单实用的图表插件,该图表插件是基于jQuery和jQuery的插件 gchart很容易实现的,而gchart插件是封装了Google的图表api 。

一 柱状图

(1) 竖状单行条形直方图效果图:

教你开发一款极为简单实用的jQuery图表插件

以上数据取自某个网站六个月份的用户注册量 。从以上数据可以看出,一二月份注册用户数为0,图表能够清晰对比每个月份用户注册量的变化。

 
 
  1. //月度报表
  2. functionMonthReport(){
  3. $.ajax({
  4. url:"/Home/About",
  5. success:function(data){
  6. varjson=eval(data);
  7. varopt={
  8. data:json,
  9. axis_labels:["一月","二月","三月","四月","五月","六月"],
  10. legend:["serie1","serie2","serie3","serie4","serie5","serie6"],
  11. title:"情缘图表",
  12. size:"400x200"
  13. };
  14. varapi=newjGCharts.Api();
  15. jQuery('<img>').attr('src',api.make(opt)).appendTo("#myDIV");
  16. }
  17. });
  18. }

(2) 竖状多行条形直方图效果图:

教你开发一款极为简单实用的jQuery图表插件

以上数据和第一种情况差不多,这是这里是做的季度统计,这里做了第一季度和第二季度的相关数据统计。显示结果如图

 
 
  1. //季度报表
  2. functionQuarterReport(){
  3. $.ajax({
  4. url:"/Home/GetTotalCount",
  5. success:function(data){
  6. varjson=eval(data);
  7. varopt={
  8. data:json,
  9. axis_labels:["一季度","二季度"],
  10. legend:["serie1","serie2","serie3"],
  11. title:"情缘图表",
  12. size:"400x200"
  13. };
  14. varapi=newjGCharts.Api();
  15. jQuery('<img>').attr('src',api.make(opt)).appendTo("#myQuarter");
  16. }
  17. });
  18. }

(3) 横条多行条形直方图效果图:

教你开发一款极为简单实用的jQuery图表插件

这种情况是上面一种情况的变相显示,只不过横纵坐标修改了。

 
 
  1. //季度报表
  2. functionQuarterReportBhg(){
  3. $.ajax({
  4. url:"/Home/GetTotalCount",
  5. success:function(data){
  6. varjson=eval(data);
  7. varopt={
  8. data:json,
  9. axis_labels:["一季度","二季度"],
  10. legend:["serie1","serie2","serie3"],
  11. title:"情缘图表",
  12. size:"400x200",
  13. type:"bhg"
  14. };
  15. varapi=newjGCharts.Api();
  16. jQuery('<img>').attr('src',api.make(opt)).appendTo("#myQuarterbhg");
  17. }
  18. });
  19. }

二 堆栈图

教你开发一款极为简单实用的jQuery图表插件

堆栈图多用于显示数据变化程度,此处显示了各科分数的情况,似乎不是太直观。但是这里能够显示此种效果就够了

 
 
  1. //分数统计
  2. functionScoreReport(){
  3. $.ajax({
  4. url:"/Home/GetScore",
  5. success:function(data){
  6. varjson=eval(data);
  7. varopt={
  8. data:json,
  9. axis_labels:["贺臣","情缘","木木"],
  10. legend:["语文","数学","英语","综合"],
  11. title:"情缘图表",
  12. size:"400x200",
  13. type:"bhs"
  14. };
  15. varapi=newjGCharts.Api();
  16. jQuery('<img>').attr('src',api.make(opt)).appendTo("#myScoreReport");
  17. }
  18. });
  19. }

三 折线图

教你开发一款极为简单实用的jQuery图表插件

折线图很适合地域分布,温度分布图。

 
 
  1. //温度走势图
  2. functionTemperatureReport(){
  3. $.ajax({
  4. url:"/Home/GetTemperature",
  5. success:function(data){
  6. varjson=eval(data);
  7. varopt={
  8. data:json,
  9. title:"情缘图表",
  10. axis_labels:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
  11. size:"400x200",
  12. type:"lc",
  13. bar_width:"5",
  14. bar_spacing:"5",
  15. fillarea:true
  16. };
  17. varapi=newjGCharts.Api();
  18. jQuery('<img>').attr('src',api.make(opt)).appendTo("#myTemperature");
  19. }
  20. });
  21. }

四 饼图

教你开发一款极为简单实用的jQuery图表插件 教你开发一款极为简单实用的jQuery图表插件

一般情况下我最细的是饼图,给人的感觉就是很不错。 以上两个图其实就这是类型不同而已

  1. //饼图
  2. functionQuarterPie(){
  3. $.ajax({
  4. url:"/Home/GetQuarterPie",
  5. success:function(data){
  6. varjson=eval(data);
  7. varopt={
  8. data:json,
  9. title:"情缘图表",
  10. axis_labels:["一月","二月","三月","四月"],
  11. size:"400x200",
  12. type:"p"
  13. };
  14. varapi=newjGCharts.Api();
  15. jQuery('<img>').attr('src',api.make(opt)).appendTo("#myQuarterPie");
  16. }
  17. });
  18. }
  19. //3D饼图
  20. functionQuarter3DPie(){
  21. $.ajax({
  22. url:"/Home/GetQuarterPie",
  23. success:function(data){
  24. varjson=eval(data);
  25. varopt={
  26. data:json,
  27. title:"情缘图表",
  28. axis_labels:["一月","二月","三月","四月"],
  29. size:"400x200",
  30. type:"p3"
  31. };
  32. varapi=newjGCharts.Api();
  33. jQuery('<img>').attr('src',api.make(opt)).appendTo("#myQuarter3DPie");
  34. }
  35. });
  36. }

五 代码分析

从上面的代码可以看出,其实使用这个插件制作图表就类型的不同而已。需要修改的是 type 这个值

这里介绍type支持的类型:

折线图 lc

点线图 lxy

Sparkline 图 ls

叠加型水平条形图 bhs

叠加型垂直条形图 bvs

水平条形图 bhg

垂直条形图 bvg

饼图 p

三维饼图 p3

维恩图 v (目前没有看到效果,各位可以尝试)

散点图 s (目前没有看到效果,各位可以尝试)

雷达图 r (目前没有看到效果,各位可以尝试)

地图 t (目前没有看到效果,各位可以尝试)

仪表 gom

六 插件相关参数说明

data: 一个二维数组,参数类型如下:[[153, 60, 52], [113, 70, 60], [120, 80, 40]]

size: 图片显示的大小 ( width x height ) 300x200

type: 前面已经说过了 这里不再累述

xis_labels : 横轴文字

legend :图例

bar_width : 20 默认 20 条形宽度

bar_spacing : 1 默认1 条形间距

colors : ['4b9b41','81419b','41599b'] 图例显示颜色

bg : 'e0e0e0' 背景颜色

bg_trasparency : 50 背景透明度

bg_offset : '000000' 渐变终结色

bg_angle : '45', 默认 90 渐变角度

bg_type : 'gradient' 默认 solid 渐变方式

bg_width : '10' 默认 10 渐变步伐

chbg : 'FFFFFF', 图表区颜色

chbg_offset : '4b9b41' 图表区渐变终结色

chbg_angle : '45' 默认90 渐变角度

chbg_type : 'gradient' 默认 solid 渐变方式

title : 'Bar Chart', 图表标题

title_color : 'a98147',

title_size : 20 默认10

grid : true, 默认 false 网格

grid_x : 5, 默认 10 X轴网格宽度

grid_y : 5, 默认格宽度

grid_line : 5, 默认

grid_blank : 0 默认度

fillarea : true 默认图表区

fillbottom : true 默认下端

filltop : true 默认充上端

lines: [[4,2,2],[6,3,3]] 点线图,[线宽,点宽,空白宽]

你可能感兴趣的:(jquery)