jquery+echarts(数据可视化图表)

1.    什么是echarts

https://echarts.baidu.com/官网

ECharts简单来说是互联网开发程序过程中,后台数据库用以实现数据到图形的映射的一个插件。

具体来说一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。


2.    为什么要使用echarts

为了更直观的看数据之间的比例 变化

3.    如何使用echarts

1.将echarts文件夹和jquery文件夹中的内容导入到项目中。

2.在页面中导入核心文件中。

<script src="echarts/js/echarts.min.js"></script>

3.声明一个容器

<div id="pic1" style=”width:400px;height:400px;margin: 20px auto;”></div>

4.创建饼图

</script>

  //创建echarts对象在哪个节点上

    var myCharts1 = echarts.init(document.getElementById('pic1'));

    //设置选项

    var option1 = {

     //背景颜色

        backgroundColor:'white',

        //标题

        title: {

           text:'用户有效性占比',

            left:'center',

            top:20,

            textStyle: {

color:'#ccc'

            }

},

        //工具提示

        tooltip : {

            trigger:'item',

            formatter:"{a}
            {b} : {d}%"

        },

        //图表属性

        series : [

{

name:'用户有效性占比',//名称

                type:'pie',//声明这是一个饼图

                clockwise:'true',

                startAngle:'0',

                radius :'40%',//半径

                center: ['50%', '50%'],//居中

                //数据-->ajax

                data:[

/* {

                        "name": "无效用户",

"value": 1

},

{

                        "name": "有效用户",

"value": 7

}*/

                ],

            }

]

};

$.ajax(

{

url:"getUserDataa",

            type:"GET",

            dataType:"json", //指定服务器返回的数据类型

            success:function (data) {

console.log(data);

                //使用返回的数据填充myChart的选项

              option1.series[0].data=data;

                //将选项对象赋值给echarts对象。

                myCharts1.setOption(option1,true);

            },

            error:function(XMLHttpRequest, textStatus, errorThrown){

console.log("服务器异常");

                alert(XMLHttpRequest.status);//200 400  404  415  500

                alert(XMLHttpRequest.readyState);//0-4

                alert(XMLHttpRequest.responseText);//响应文本

                alert(textStatus);

                alert(errorThrown);

                console.log(textStatus);

            }

});

</script>

5.Controller

@ResponseBody

@RequestMapping(value ="/getUserDataa")

public ObjectgetUserData(){

UserData userData =new UserData();

    userData.setName("有效用户");

    userData.setValue(5);

    UserData userData1 =new UserData();

    userData1.setName("无效效用户");

    userData1.setValue(5);

    List userData2 =new ArrayList<>();

    userData2.add(userData);

    userData2.add(userData1);

    System.out.println("吃屎123");

    return userData2;

}


效果图



跨域请求:在不同源的页面/资源中进行请求。

1.      同源策略:如果两个页面的协议(http/https),端口(如果有指定)和主机(IP地址)都相同,则两个页面具有相同的如果中间有一个不同,则源不同。

2.      如何解决跨域请求问题,需要在前后端一起处理。

前端:使用jsonp解决跨域请求的问题。


<script>

    //创建echarts对象在哪个节点上

    var myCharts1 = echarts.init(document.getElementById('pic1'));

    //设置选项

    var option1 = {

//背景颜色

        backgroundColor:'white',

        //标题

        title: {

text:'用户有效性占比',

            left:'center',

            top:20,

            textStyle: {

color:'#ccc'

            }

},

        //工具提示

        tooltip : {

trigger:'item',

            formatter:"{a}
{b} : {d}%"

        },

        //图表属性

        series : [

{

name:'用户有效性占比',//名称

                type:'pie',//声明这是一个饼图

                clockwise:'true',

                startAngle:'0',

                radius :'40%',//半径

                center: ['50%', '50%'],//居中

                //数据-->ajax

                data:[

/* {

                        "name": "无效用户",

"value": 1

},

{

                        "name": "有效用户",

"value": 7

}*/

                ],

            }

]

};

$.ajax(

{

url:"http://localhost:8080/getUserDataa",

            type:"GET",

            jsonp:"callback",

            dataType:"jsonp",

            //指定服务器返回的数据类型

            success:function (data) {

             console.log(data);

                //使用返回的数据填充myChart的选项

             option1.series[0].data=data;

                //将选项对象赋值给echarts对象。

             myCharts1.setOption(option1,true);

            },

             error:function(XMLHttpRequest, textStatus, errorThrown){

              console.log("服务器异常");

              alert(XMLHttpRequest.status);//200 400  404  415  500

               alert(XMLHttpRequest.readyState);//0-4

               alert(XMLHttpRequest.responseText);//响应文本

               alert(textStatus);

               alert(errorThrown);

               console.log(textStatus);

            }

});

</script>

controller代码


@ResponseBody

@RequestMapping(value ="/getUserDataa")

public ObjectgetUserData(String callback){

UserData userData =new UserData();

    userData.setName("有效用户");

    userData.setValue(5);

    UserData userData1 =new UserData();

    userData1.setName("无效效用户");

    userData1.setValue(5);

    List userData2 =new ArrayList<>();

    userData2.add(userData);

    userData2.add(userData1);

    System.out.println("吃屎123");

    JSONPObject jsonpObject =new JSONPObject(callback,userData2);

    return jsonpObject;

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容