当前位置:   article > 正文

最简单的echart 饼图实现_echart实现饼状图

echart实现饼状图

话不多说,先看效果图:

 

 实现步骤如下:

1.在echart官网下载echart.min.js ,下载网址:https://echarts.baidu.com/download.html 

2.引入echart.min.js

3.写前端代码,完整代码如下:

  1. <%@ page contentType="text/html;charset=UTF-8"%>
  2. <html>
  3. <head>
  4. <title>值域代码分类占比</title>
  5. <script src="${ctxStatic}/plugin/echart4/echarts.min.js"></script>
  6. </head>
  7. <body>
  8. <div id="div"
  9. style="width: 50%; height: 70%; margin-left: 20px; margin-top: 20px"></div>
  10. <script type="text/javascript">
  11. var json = [];
  12. var datas = [];
  13. $(function() {
  14. //ajax调用
  15. ajaxGetData();
  16. });
  17. function ajaxGetData() {
  18. $.ajax({
  19. url : "${ctx}/baseData/statistical/getBaseDataData",
  20. type : "get",
  21. success : function(data) {
  22. var jsonObject = eval("(" + data + ")");
  23. for (var i = 0; i < jsonObject.length; i++) {
  24. json.push({
  25. value : jsonObject[i].baseDataCategoryNum,
  26. name : jsonObject[i].baseDataCategory
  27. });
  28. datas.push(jsonObject[i].name);
  29. }
  30. printPie();
  31. }
  32. });
  33. }
  34. function printPie() {
  35. var myecharts = echarts.init(document.getElementById("div"));
  36. option = {
  37. title : {
  38. text : '值域代码分类占比',
  39. subtext : '',
  40. x : 'center'
  41. },
  42. tooltip : {
  43. trigger : 'item',
  44. formatter : "{a} <br/>{b} : {c} ({d}%)"
  45. },
  46. legend : {
  47. orient : 'vertical',
  48. left : 'left',
  49. data : datas.baseDataCategory
  50. },
  51. series : [ {
  52. name : '值域占比',
  53. type : 'pie',
  54. radius : '55%',
  55. center : [ '50%', '70%' ],
  56. data : json
  57. /* [ {
  58. value : 335,
  59. name : 'CV'
  60. }, {
  61. value : 310,
  62. name : '非CV'
  63. }, {
  64. value : 234,
  65. name : 'ICD-10'
  66. }, {
  67. value : 135,
  68. name : 'GB'
  69. } ] */,
  70. itemStyle : {
  71. emphasis : {
  72. shadowBlur : 10,
  73. shadowOffsetX : 0,
  74. shadowColor : 'rgba(0, 0, 0, 0.5)'
  75. },
  76. normal : {
  77. label : {
  78. show : true,
  79. formatter : '{b}-{d}%',
  80. textStyle : {
  81. fontWeight : 300,
  82. fontSize : 16
  83. //文字的字体大小
  84. },
  85. },
  86. lableLine : {
  87. show : true
  88. }
  89. }
  90. }
  91. } ]
  92. };
  93. myecharts.setOption(option);
  94. }
  95. </script>
  96. </body>
  97. </html>

4.后端代码          后台数据是写死的,大家查表赋值就行,很简单。另外饼图的样式,属性可以去官网查看,这里不多赘述。

  1. @Controller
  2. @RequestMapping(value = "${adminPath}/baseData/statistical")
  3. public class BaseDataStatisticalController extends BaseController {
  4. @RequestMapping(value = { "list", "" })
  5. public String list() {
  6. return "modules/baseData/statisticalList";
  7. }
  8. @RequestMapping("getBaseDataData")
  9. public String getData(HttpServletResponse response) {
  10. List<BaseDataClass> list = new ArrayList<>();// 等基础导入数据弄好,再查表赋值
  11. BaseDataClass baseDataClass = new BaseDataClass();
  12. baseDataClass.setBaseDataCategory("GB");
  13. baseDataClass.setBaseDataCategoryNum(996);
  14. list.add(baseDataClass);
  15. baseDataClass = new BaseDataClass();
  16. baseDataClass.setBaseDataCategory("CV");
  17. baseDataClass.setBaseDataCategoryNum(233);
  18. list.add(baseDataClass);
  19. baseDataClass = new BaseDataClass();
  20. baseDataClass.setBaseDataCategory("非CV");
  21. baseDataClass.setBaseDataCategoryNum(433);
  22. list.add(baseDataClass);
  23. baseDataClass = new BaseDataClass();
  24. baseDataClass.setBaseDataCategory("ICD-10");
  25. baseDataClass.setBaseDataCategoryNum(99);
  26. list.add(baseDataClass);
  27. // response.setCharacterEncoding("UTF-8");
  28. PrintWriter out = null;
  29. try {
  30. out = response.getWriter();
  31. } catch (IOException e) {
  32. e.printStackTrace();
  33. }
  34. out.write(JSONArray.fromObject(list).toString());// 饼图
  35. out.flush();
  36. return null;
  37. }
  38. }

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/769635
推荐阅读
相关标签