首页 web前端 js教程 ajax实现动态饼图和柱形图的图文详解

ajax实现动态饼图和柱形图的图文详解

Mar 30, 2018 pm 03:12 PM
ajax 柱形图 饼图

这次给大家带来ajax实现动态饼图和柱形图的图文详解,ajax实现动态饼图和柱形图的注意事项有哪些,下面就是实战案例,一起来看一下。

本文以柱形图和饼形图ajax动态赋值为例

一、饼形图赋值步骤

(1)jsp页面

1

2

3

4

5

6

7

<!-- 引入echarts官方js --> 

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

<body> 

<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM 饼形图 --> 

<p id="first" style="width: 600px;height:400px;"></p> 

[html] view plain copy

</body>

登录后复制

(2)js页面

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

//饼图模板

var dom = document.getElementById("first");

var myChart = echarts.init(dom);

var app = {};

option = null;

option = {

    title : {

      text: '用户位置记录',

      subtext: '',

      x:'center'

    },

    tooltip : {

      trigger: 'item',

      formatter: "{a} <br/>{b} : {c} ({d}%)"

    },

    legend: {

      orient : 'vertical',

      x : 'left',

      data:[]

    },

    toolbox: {

      show : true,

      feature : {

        mark : {show: true},

        dataView : {show: true, readOnly: false},

        magicType : {

          show: true, 

          type: ['pie''funnel'],

          option: {

            funnel: {

              x: '25%',

              width: '50%',

              funnelAlign: 'left',

              max: 1548

            }

          }

        },

        restore : {show: true},

        saveAsImage : {show: true}

      }

    },

    calculable : true,

    series : [

      {

        name:'',

        type:'pie',

        radius : '55%',

        center: ['50%''60%'],

        data:[]

      }

    ]

  };

;

if (option && typeof option === "object") {

  myChart.setOption(option, true);

}

//饼图动态赋值

var year = $("#year-search").val();

  var mouth = $("#mouth-search").val();

  $.ajax({

      type: "get",

      url: rootPath+"/wxbound/getPieDataByMouth.action",

      data : {"year":year,"mouth":mouth},

      cache : false,  //禁用缓存

      dataType: "json",

      success: function(result) {

        var names=[];//定义两个数组

         var nums=[];

         $.each(result,function(key,values){ //此处我返回的是list<String,map<String,String>>循环map

           names.push(values.province_name);

           var obj = new Object();

           obj.name = values.province_name;

           obj.value = values.count;

           nums.push(obj);

          });

        myChart.setOption({ //加载数据图表

             legend: {

                data: names

                },

            series: {

                // 根据名字对应到相应的系列

                name: ['数量'],

                data: nums

                }  

      });

      },

      error: function(XMLHttpRequest, textStatus, errorThrown) {

        alert("查询失败");

      }

    });

登录后复制

(3)后台代码根据你自己的代码就好

(4)显示样式

二、柱型图赋值步骤

(1)jsp页面

1

2

3

4

5

6

<!-- 引入echarts官方js --> 

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

<body> 

<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM 柱形图 --> 

<p id="second" style="width: 600px;height:400px;"></p> 

</body>

登录后复制

(2)js页面

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

//柱形图模板

var domLong = document.getElementById("second");

var myChartSecond = echarts.init(domLong);

var app = {};

option = null;

option = {

   color: ['#3398DB'],

   tooltip : {

     trigger: 'axis',

     axisPointer : {      // 坐标轴指示器,坐标轴触发有效

       type : 'shadow'    // 默认为直线,可选为:'line' | 'shadow'

     }

   },

   grid: {

     left: '3%',

     right: '4%',

     bottom: '3%',

     containLabel: true

   },

   xAxis : [

     {

       type : 'category',

       data : [],

       axisTick: {

         alignWithLabel: true

       }

     }

   ],

   yAxis : [

     {

       type : 'value'

     }

   ],

   series : [

     {

       name:'直接访问',

       type:'bar',

       barWidth: '60%',

       data:[]

     }

   ]

 };

if (option && typeof option === "object") {

 myChartSecond.setOption(option, true);

}

//给柱形图赋值

 var year = $("#year-search").val();

 $.ajax({

      type: "post",

      url: rootPath+"/wxbound/getWxboundList.action",

      data : {"year":year},

      cache : false, //禁用缓存

      dataType: "json",

      success: function(result) {

     console.log(result);

     var linNames=[];

   var linNums=[];

     $.each(result.lin,function(key,values){ 

     linNames.push(values.mouth);

     linNums.push(values.count);

      

    });

   //柱形图赋值

   myChartSecond.setOption({ //加载数据图表

    xAxis: {

                data: linNames

                },

            series: {

             // 根据名字对应到相应的系列

             name: ['数量'],

             data: linNums

         }

    });  

      },

      error: function(XMLHttpRequest, textStatus, errorThrown) {

        alert("查询失败");

      }

    });

}

登录后复制

(3)后台代码部分根据自己需要就好。。。

(4)图片样式

可以去试试你的echarts图标了。。。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

判断身份证与银行卡号格式的正则怎么写

JS的正则如何校验非零的负整数

以上是ajax实现动态饼图和柱形图的图文详解的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

解决jQuery AJAX请求遇到403错误的方法 解决jQuery AJAX请求遇到403错误的方法 Feb 20, 2024 am 10:07 AM

标题:解决jQueryAJAX请求出现403错误的方法及代码示例403错误是指服务器禁止访问资源的请求,通常会导致出现这个错误的原因是请求缺少权限或者被服务器拒绝。在进行jQueryAJAX请求时,有时候会遇到这种情况,本文将介绍如何解决这个问题,并提供代码示例。解决方法:检查权限:首先要确保请求的URL地址是正确的,同时验证是否有足够的权限来访问该资

解决jQuery AJAX请求403错误的方法 解决jQuery AJAX请求403错误的方法 Feb 19, 2024 pm 05:55 PM

jQuery是一个流行的JavaScript库,用于简化客户端端的开发。而AJAX则是在不重新加载整个网页的情况下,通过发送异步请求和与服务器交互的技术。然而在使用jQuery进行AJAX请求时,有时会遇到403错误。403错误通常是服务器禁止访问的错误,可能是由于安全策略或权限问题导致的。在本文中,我们将讨论如何解决jQueryAJAX请求遭遇403错误

如何使用Ajax从PHP方法中获取变量? 如何使用Ajax从PHP方法中获取变量? Mar 09, 2024 pm 05:36 PM

使用Ajax从PHP方法中获取变量是Web开发中常见的场景,通过Ajax可以实现页面无需刷新即可动态获取数据。在本文中,将介绍如何使用Ajax从PHP方法中获取变量,并提供具体的代码示例。首先,我们需要编写一个PHP文件来处理Ajax请求,并返回所需的变量。下面是一个简单的PHP文件getData.php的示例代码:

如何解决jQuery AJAX报错403的问题? 如何解决jQuery AJAX报错403的问题? Feb 23, 2024 pm 04:27 PM

如何解决jQueryAJAX报错403的问题?在开发网页应用程序时,经常会使用jQuery来发送异步请求。然而,有时候在使用jQueryAJAX时可能会遇到错误代码403,表示服务器禁止访问。这种情况通常是由服务器端的安全设置所导致的,但可以通过一些方法来解决这个问题。本文将介绍如何解决jQueryAJAX报错403的问题,并提供具体的代码示例。一、使

如何使用ECharts和Python接口创建饼图 如何使用ECharts和Python接口创建饼图 Dec 17, 2023 am 10:23 AM

如何使用ECharts和Python接口创建饼图ECharts是一个开源的数据可视化库,它提供了丰富的图表类型和灵活的配置选项,使得开发者可以轻松地创建各种图表,包括饼图。而Python则提供了强大的数据处理和可视化的工具,结合ECharts的Python接口,我们可以使用Python语言来生成饼图,并在Web页面中展示出来。接下来,我将介绍如何使用ECha

PPT制作折线和柱形混合图表的步骤 PPT制作折线和柱形混合图表的步骤 Mar 26, 2024 pm 09:26 PM

1、在PPT中插入数据图,类型选择【簇状柱形图】。2、输入源数据,只使用两列数据,比如,第一列为月数据,第二列为月累计数据。3、更改累计数据系列的图表类型,点击图表工具下的"更改图表类型,点击【组合】,累计数据选择带数据标记的折线图,并勾选次坐标轴。4、点击确定后,得到了基本的组合图形。5、添加柱形图和折线图的数据标签。并设置不同颜色以示区别。6、对数据图做进一步美化,删除不必要的元素,凸显信息,得到最终图表。

PHP 与 Ajax:创建动态加载内容的解决方案 PHP 与 Ajax:创建动态加载内容的解决方案 Jun 06, 2024 pm 01:12 PM

Ajax(异步JavaScript和XML)允许在不重新加载页面情况下添加动态内容。使用PHP和Ajax,您可以动态加载产品列表:HTML创建一个带有容器元素的页面,Ajax请求加载数据后将数据添加到该元素中。JavaScript使用Ajax通过XMLHttpRequest向服务器发送请求,从服务器获取JSON格式的产品数据。PHP使用MySQL从数据库查询产品数据,并将其编码为JSON格式。JavaScript解析JSON数据,并将其显示在页面容器中。点击按钮触发Ajax请求,加载产品列表。

PHP 与 Ajax:构建一个自动完成建议引擎 PHP 与 Ajax:构建一个自动完成建议引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax构建自动完成建议引擎:服务器端脚本:处理Ajax请求并返回建议(autocomplete.php)。客户端脚本:发送Ajax请求并显示建议(autocomplete.js)。实战案例:在HTML页面中包含脚本并指定search-input元素标识符。

See all articles