echart의 Ajax 동적 할당 예(원형 차트 및 세로 막대형 차트)

php中世界最好的语言
풀어 주다: 2023-03-20 19:58:02
원래의
4406명이 탐색했습니다.

Ajax는 대화형 웹 애플리케이션을 만들기 위한 웹 개발 기술을 말합니다. 아래에서 편집자는 echarts(원형 차트 및 세로 막대형 차트)의 ajax 동적 할당의 예를 공유할 것입니다. 이는 좋은 참조 값을 갖고 있으며 모든 사람에게 도움이 되기를 바랍니다. 에디터와 함께 구경해보세요

이 글에서는 세로 막대형 차트와 원형 차트의 Ajax 동적 할당을 예로 들어 보겠습니다.

1. 원형 차트 할당 단계

(1) jsp 페이지

<!-- 引入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 페이지

//饼图模板
var dom = document.getElementById("first");
var myChart = echarts.init(dom);
var app = {};
option = null;
option = {
    title : {
      text: &#39;用户位置记录&#39;,
      subtext: &#39;&#39;,
      x:&#39;center&#39;
    },
    tooltip : {
      trigger: &#39;item&#39;,
      formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    legend: {
      orient : &#39;vertical&#39;,
      x : &#39;left&#39;,
      data:[]
    },
    toolbox: {
      show : true,
      feature : {
        mark : {show: true},
        dataView : {show: true, readOnly: false},
        magicType : {
          show: true, 
          type: [&#39;pie&#39;, &#39;funnel&#39;],
          option: {
            funnel: {
              x: &#39;25%&#39;,
              width: &#39;50%&#39;,
              funnelAlign: &#39;left&#39;,
              max: 1548
            }
          }
        },
        restore : {show: true},
        saveAsImage : {show: true}
      }
    },
    calculable : true,
    series : [
      {
        name:&#39;&#39;,
        type:&#39;pie&#39;,
        radius : &#39;55%&#39;,
        center: [&#39;50%&#39;, &#39;60%&#39;],
        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: [&#39;数量&#39;],
                data: nums
                }  
      });
      },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert("查询失败");
      }
    });
로그인 후 복사

(3) 배경 코드는 자신의 코드를 기반으로 할 수 있습니다

(4) 표시 스타일

2. 세로 막대형 차트 할당 단계

(1) jsp 페이지

<!-- 引入echarts官方js --> 
<script src="js/echarts.js"></script> 
<body> 
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM 柱形图 --> 
<p id="second" style="width: 600px;height:400px;"></p> 
</body>
로그인 후 복사

(2) js 페이지

//柱形图模板
var domLong = document.getElementById("second");
var myChartSecond = echarts.init(domLong);
var app = {};
option = null;
option = {
   color: [&#39;#3398DB&#39;],
   tooltip : {
     trigger: &#39;axis&#39;,
     axisPointer : {      // 坐标轴指示器,坐标轴触发有效
       type : &#39;shadow&#39;    // 默认为直线,可选为:&#39;line&#39; | &#39;shadow&#39;
     }
   },
   grid: {
     left: &#39;3%&#39;,
     right: &#39;4%&#39;,
     bottom: &#39;3%&#39;,
     containLabel: true
   },
   xAxis : [
     {
       type : &#39;category&#39;,
       data : [],
       axisTick: {
         alignWithLabel: true
       }
     }
   ],
   yAxis : [
     {
       type : &#39;value&#39;
     }
   ],
   series : [
     {
       name:&#39;直接访问&#39;,
       type:&#39;bar&#39;,
       barWidth: &#39;60%&#39;,
       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: [&#39;数量&#39;],
             data: linNums
         }
    });  
      },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert("查询失败");
      }
    });
}
로그인 후 복사

(3) 배경 코드 부분은 필요한 것을 기반으로 합니다. . .

(4) 그림 스타일

지금 echarts 아이콘을 사용해 볼 수 있습니다. . .

위의 echarts(원형 차트 및 세로 막대형 차트)의 Ajax 동적 할당 예시는 모두 편집자가 공유한 내용이므로 참고가 되기를 바라며, 또한 모두가 Script Home을 지원해 주시길 바랍니다.

관련 권장 사항:

파일 업로드를 구현하는 AjaxUpLoad.js 예제 코드

AJAX의 중국어 왜곡 POST 데이터를 해결하는 방법

Ajax 요청을 판단하는 방법의 예

위 내용은 echart의 Ajax 동적 할당 예(원형 차트 및 세로 막대형 차트)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!