经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
echarts图表数据信息动态获取
来源:cnblogs  作者:coderLiujh  时间:2019/10/12 9:19:04  对本文有异议

第一步准备一个json文件echarts.json(名字无所谓),用来模拟从后台获取数据 

  1. {
  2. "name":["直达","营销广告","搜索引擎","邮件营销","联盟广告","视频广告","百度","谷歌","必应","其他"],
  3. "data":[
  4. {"value":335, "name":"直达"},
  5. {"value":310, "name":"邮件营销"},
  6. {"value":234, "name":"联盟广告"},
  7. {"value":135, "name":"视频广告"},
  8. {"value":1048, "name":"百度"},
  9. {"value":251, "name":"谷歌"},
  10. {"value":147, "name":"必应"},
  11. {"value":102, "name":"其他"}
  12. ],
  13. "little":[
  14. {"value":335, "name":"直达","selected":"true"},
  15. {"value":679, "name":"营销广告"},
  16. {"value":1548, "name":"搜索引擎"}
  17. ]
  18. }

  

第二步在页面直接引用JS文件

  1. <script src="js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
  2. <script type="text/javascript"src="js/jquery.min.js"></script>

  

第三步在body中准备一个容器,写好样式,用来显示图表

  1. <div id="container"></div>
  2.  
  3. <style>
  4. #container{
  5. width: 800px;
  6. height: 600px;
  7. border: 1px solid #ccc;
  8. margin: 0 auto;
  9. }
  10. </style>

  

最后一步在js中初始化echarts对象,实现动态加载数据。

  1. <script type="text/javascript">
  2. var container = document.getElementById('container');
  3. // 初始化加载对象myContainer
  4. var myContainer = echarts.init(container);
  5. //未获取数据前,显示loading加载动画
  6. myContainer.showLoading();
  7. function bindData() {
  8. //为了效果明显,我们做了延迟读取数据
  9. setTimeout(function() {
  10. //异步加载数据,get请求我们刚刚准备的json文件,正式开发中调用相应的接口
  11. $.get('echarts.json', function(res) {
  12. console.log(res)
  13. //获取数据后,隐藏loading动画
  14. myContainer.hideLoading();
  15. myContainer.setOption(
  16. option = {
  17. tooltip: {
  18. trigger: 'item',
  19. formatter: "{a} <br/>{b}: {c} ({d}%)"
  20. },
  21. legend: {
  22. orient: 'horizontal',
  23. x: 'left',
  24. data:res.name
  25. },
  26. series: [
  27. {
  28. name:'访问来源',
  29. type:'pie',
  30. selectedMode: 'single',
  31. radius: ['0', '30%'],
  32. label: {
  33. normal: {
  34. position: 'inner'
  35. }
  36. },
  37. labelLine: {
  38. normal: {
  39. show: false
  40. }
  41. },
  42. data:res.little
  43. },
  44. {
  45. name:'访问来源',
  46. type:'pie',
  47. radius: ['40%', '55%'],
  48. label: {
  49. normal: {
  50. formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
  51. backgroundColor: '#eee',
  52. borderColor: '#aaa',
  53. borderWidth: 1,
  54. borderRadius: 4,
  55. // shadowBlur:3,
  56. // shadowOffsetX: 2,
  57. // shadowOffsetY: 2,
  58. // shadowColor: '#999',
  59. // padding: [0, 7],
  60. rich: {
  61. a: {
  62. color: '#999',
  63. lineHeight: 22,
  64. align: 'center'
  65. },
  66. abg: {
  67. backgroundColor: '#333',
  68. width: '100%',
  69. align: 'right',
  70. height: 22,
  71. borderRadius: [4, 4, 0, 0]
  72. },
  73. hr: {
  74. borderColor: '#aaa',
  75. width: '100%',
  76. borderWidth: 0.5,
  77. height: 0
  78. },
  79. b: {
  80. fontSize: 16,
  81. lineHeight: 33
  82. },
  83. per: {
  84. color: '#eee',
  85. backgroundColor: '#334455',
  86. padding: [2, 4],
  87. borderRadius: 2
  88. }
  89. }
  90. }
  91. },
  92. data:res.data
  93. }
  94. ]
  95. });
  96. })
  97. }, 1000);
  98. }
  99. bindData();
  100. </script>

 

原文链接:http://www.cnblogs.com/coderLiujh/p/11654440.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号