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

简介: 这里介绍一款简单实用的图表插件,该图表插件是基于jquery和jquery的插件 gchart很容易实现的,而gchart插件是封装了google的图表api 。一  柱状图  (1) 竖状单行条形直方图效果图:   以上数据取自某个网站六个月份的用户注册量 。
这里介绍一款简单实用的图表插件,该图表插件是基于 jquery jquery 的插件 gchart 很容易实现的,而 gchart 插件是封装了 google 的图表 api

一  柱状图

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

 

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

// 月度报表
        function MonthReport() {
            $.ajax({
                url: 
" /Home/About " ,
                success: function (data) {
                    var json 
=  eval(data);
                    var opt 
=  {
                        data: json,
                        axis_labels: [
" 一月 " " 二月 " " 三月 " " 四月 " " 五月 " " 六月 " ],
                        legend: [
" serie1 " " serie2 " " serie3 " " serie4 " " serie5 " " serie6 " ],
                        title: 
" 情缘图表 " ,
                        size: 
" 400x200 "
                    };
                    var api 
=   new  jGCharts.Api();
                    jQuery(
' <img> ' ).attr( ' src ' , api.make(opt)).appendTo( " #myDIV " );
                }
            });

        } 

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

 

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

// 季度报表
        function QuarterReport() {
            $.ajax({
                url: 
" /Home/GetTotalCount " ,
                success: function (data) {
                    var json 
=  eval(data);
                    var opt 
=  {
                        data: json,
                        axis_labels: [
" 一季度 " " 二季度 " ],
                        legend: [
" serie1 " " serie2 " " serie3 " ],
                        title: 
" 情缘图表 " ,
                        size: 
" 400x200 "
                    };
                    var api 
=   new  jGCharts.Api();
                    jQuery(
' <img> ' ).attr( ' src ' , api.make(opt)).appendTo( " #myQuarter " );
                }
            });

        } 

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

 

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

// 季度报表
        function QuarterReportBhg() {
            $.ajax({
                url: 
" /Home/GetTotalCount " ,
                success: function (data) {
                    var json 
=  eval(data);
                    var opt 
=  {
                        data: json,
                        axis_labels: [
" 一季度 " " 二季度 " ],
                        legend: [
" serie1 " " serie2 " " serie3 " ],
                        title: 
" 情缘图表 " ,
                        size: 
" 400x200 " ,
                        type: 
" bhg "
                    };
                    var api 
=   new  jGCharts.Api();
                    jQuery(
' <img> ' ).attr( ' src ' , api.make(opt)).appendTo( " #myQuarterbhg " );
                }
            });

        } 

 

二  堆栈图

 

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

// 分数统计
        function ScoreReport(){
            $.ajax({
                url: 
" /Home/GetScore " ,
                success: function (data) {
                    var json 
=  eval(data);
                    var opt 
=  {
                        data: json,
                        axis_labels: [
" 贺臣 " " 情缘 " " 木木 " ],
                        legend: [
" 语文 " " 数学 " " 英语 " , " 综合 " ],
                        title: 
" 情缘图表 " ,
                        size: 
" 400x200 " ,
                        type: 
" bhs "
                    };
                    var api 
=   new  jGCharts.Api();
                    jQuery(
' <img> ' ).attr( ' src ' , api.make(opt)).appendTo( " #myScoreReport " );
                }
            });

        } 

 

三  折线图

 

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

// 温度走势图
        function TemperatureReport(){
            $.ajax({
                url: 
" /Home/GetTemperature " ,
                success: function (data) {
                    var json 
=  eval(data);
                    var opt 
=  {
                        data: json,
                        title: 
" 情缘图表 " ,
                        axis_labels: [
" 一月 " " 二月 " " 三月 " , " 四月 " , " 五月 " , " 六月 " , " 七月 " , " 八月 " , " 九月 " , " 十月 " , " 十一月 " , " 十二月 " ],
                        size: 
" 400x200 " ,
                        type: 
" lc " ,
                        bar_width:
" 5 " ,
                        bar_spacing:
" 5 " ,
                        fillarea:
true
                    };
                    var api 
=   new  jGCharts.Api();
                    jQuery(
' <img> ' ).attr( ' src ' , api.make(opt)).appendTo( " #myTemperature " );
                }
            });

        } 

 

四  饼图 

    

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

// 饼图
        function QuarterPie(){
            $.ajax({
                url: 
" /Home/GetQuarterPie " ,
                success: function (data) {
                    var json 
=  eval(data);
                    var opt 
=  {
                        data: json,
                        title: 
" 情缘图表 " ,
                        axis_labels: [
" 一月 " " 二月 " " 三月 " , " 四月 " ],
                        size: 
" 400x200 " ,
                        type: 
" p "
                    };
                    var api 
=   new  jGCharts.Api();
                    jQuery(
' <img> ' ).attr( ' src ' , api.make(opt)).appendTo( " #myQuarterPie " );
                }
            });
        }


// 3D饼图
        function Quarter3DPie(){
            $.ajax({
                url: 
" /Home/GetQuarterPie " ,
                success: function (data) {
                    var json 
=  eval(data);
                    var opt 
=  {
                        data: json,
                        title: 
" 情缘图表 " ,
                        axis_labels: [
" 一月 " " 二月 " " 三月 " , " 四月 " ],
                        size: 
" 400x200 " ,
                        type: 
" p3 "
                    };
                    var api 
=   new  jGCharts.Api();
                    jQuery(
' <img> ' ).attr( ' src ' , api.make(opt)).appendTo( " #myQuarter3DPie " );
                }
            });

        } 

 

 五  代码分析

从上面的代码可以看出,其实使用这个插件制作图表就类型的不同而已。需要修改的是 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]] 点线图,[线宽,点宽,空白宽]

 

七  代码示例下载 

点击下载, 代码有一部分是使用的的数据库数据,因此运行的时候可能会有问题,这里需要做相应的修改! 

这里就简单介绍到这里,如果各位有兴趣可以尝试修改其中的效果来看看运行效果 

相关文章
Echarts各类图表常用配置项说明,附示例代码
Echarts各类图表常用配置项说明,附示例代码
|
3月前
|
小程序 前端开发
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
148 0
|
4月前
|
数据可视化 大数据 API
【推荐100个unity插件之22】基于UGUI的功能强大的简单易用的Unity数据可视化图表插件——XCharts3.0插件的使用
【推荐100个unity插件之22】基于UGUI的功能强大的简单易用的Unity数据可视化图表插件——XCharts3.0插件的使用
105 0
|
5月前
|
移动开发 前端开发 JavaScript
用echarts实现一个简单的生成图表的功能
用echarts实现一个简单的生成图表的功能
40 0
|
JavaScript 前端开发 容器
使用 Echarts 插件实现柱状图功能
使用 Echarts 插件实现柱状图功能
使用 Echarts 插件实现柱状图功能
|
Web App开发 移动开发 前端开发
前端数据可视化插件(一)图表
前端数据可视化插件(一)图表
前端数据可视化插件(一)图表
|
前端开发
自己开发图表插件,脱离echart
自己开发图表插件,脱离echart
|
关系型数据库 MySQL
使用表格和图表的#1插件改进WordPress表格
使用表格和图表的#1插件改进WordPress表格 几乎每个网站创建者最终需要解决的典型任务之一就是要以可读和交互的方式向网站访问者显示大量数据。经典的解决方案是将数据组织在一个表格中。 如果你在网站上处理数据管理,你应该知道wpDataTables。
2293 0
|
JavaScript 前端开发 数据可视化
最好用的图表工具 -- ECharts
首先比较下目前比较流行的几款图表库: highcharts文档详细易懂,上手快捷,但highcharts依赖于jQuery库,而且Highcharts对个人免费但对企业收费 d3.js更自由些,更容易做出自己想要的效果,但学习起来需要更多的时间 echarts:开源软件,无私的为我们提供漂亮的图形.
8568 0