zoukankan      html  css  js  c++  java
  • echarts图调用多个接口

    html:

    <div id="sentimentMain1" style="960px;height:500px;margin:20px auto;"></div>

    js:

    var myChart1 = echarts.init(document.getElementById('sentimentMain1'));
    
    var colors = ['#5793f3','#d14a61', '#675bba'];var selectOne='20ma'
    var selectTwo='50ma'
    var option1={
      color: colors,
      tooltip: {
        trigger: 'axis',
        axisPointer: {
          type: 'cross'
        }
      },
      legend: {
        data:['','index','']
      },
      grid: {
        right: '20%'
      },
      toolbox: {
        feature: {
          dataView: {show: true, readOnly: false},
          restore: {show: true},
          saveAsImage: {show: true}
        }
      },//右上角功能键去掉:option里在toolbox:{。。。}里,不要的图标删掉。如果一个图标都不用,就把整个toolbox删掉。
      xAxis: {
        type: 'category',
        axisTick: {
          alignWithLabel: true
        },
        data:[] ,
      },
      yAxis: [
        {
          type: 'value',
          name: '',
          position: 'left',
          offset:50,
          axisLine: {
            lineStyle: {
              color: colors[0]
            }
          },
          axisLabel: {
            formatter: function (value, index) { 
              return value+"%"; 
            } 
          }
        },
        {
          type: 'value',
          name: 'index',
          position: 'right',
          min:0,
          max:0,
          axisLine: {
            lineStyle: {
              color: colors[1]
            }
          },
          axisLabel: {
            formatter: function (value, index) { 
              return value.toFixed(2); 
            } 
          }
        },
        {
          type: 'value',
          name: '',
          position: 'left',
          axisLine: {
            lineStyle: {
              color: colors[2]
            }
          },
          axisLabel: {
            formatter: function (value, index) { 
              return value+"%"; 
            } 
          }
        }
       ],
       dataZoom: [{
        type: 'inside',
        start: 0,
        end: 100
        }, {
          start: 98,
          end: 100,
          handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
          handleSize: '10%',
          handleStyle: {
            color: '#fff',
            shadowBlur: 3,
            shadowColor: 'rgba(0, 0, 0, 0.6)',
            shadowOffsetX: 2,
            shadowOffsetY: 2
          }
        }],
        series: [
          {
            name:'',
            type:'line',
            data: []
          },
          {
            name:'index',
            type:'line',
            yAxisIndex: 1,
            data: []
          },
          {
            name:'',
            type:'line',
    
            yAxisIndex: 2,
            data: []
          }
         ]
       }
    function myChart1_chart(myChart1,selectOne,selectTwo,option){
      
      var data1=[];
      var data2=[];
      var data3=[];
      var date = [];
      var index_min;
      var index_max;
      var url="stock/indexApi";
      $.post(url,{},function(msg){
        msg = JSON.parse(msg);
        if (msg.code == '000') {
        //success
        for (var i = 0; i < msg.data.length; i++) {
          data1.push(parseFloat(msg.data[i].price).toFixed(2));
          date.push(msg.data[i].date);
        }
        //取最大值和最小值
        index_min=parseFloat(data1[0]);
        index_max=parseFloat(data1[0]);
        for(var k=0;k<data1.length;k++){
          if(parseFloat(data1[k])>index_max){
          index_max=parseFloat(data1[k]);
        }
        if(parseFloat(data1[k])<index_min){
          index_min=parseFloat(data1[k]);
        }
      }
      myChart1.setOption({
        legend: {
          data:[selectOne,'index',selectTwo]
        },
        xAxis: {
          data: date,
        },
        yAxis: [
          {
            name: selectOne,
          },
          {
            name: 'index',
            min:index_min,
            max:index_max,
          },
          {
            name: selectTwo,
          }
         ],
         series: [
          {
            name:selectOne,
            data: data2
          },
          {
            name:'index',
            data: data1
          },
          {
            name:selectTwo,
            data: data3
          }
         ]
        })
       } else {
        //error
       }
      });    
      var url="stock/maApi";
      $.post(url,{ma_type:selectOne,data_type:0},function(msg){
        msg = JSON.parse(msg);
        if (msg.code == '000') {
          for (var i = 0; i < msg.data.length; i++) {
            data2.push(msg.data[i].perc);
          }
          //    myChart1.hideLoading(); 
          myChart1.setOption({
            legend: {
              data:[selectOne,'index',selectTwo]
            },
            xAxis: {
              data: date,
            },
            yAxis: [
            {
              name: selectOne
            },
            {
              name: 'index',
              min:index_min,
              max:index_max
            },
            {
              name: selectTwo
            }
            ],
            series: [
              {
                name:selectOne,
                data: data2
              },
              {
                name:'index',
                data: data1
              },
              {
                name:selectTwo,
                data: data3
              }
             ]
            })
          } else {
            //error
          }
        });
        var url="stock/maApi";
        $.post(url,{ma_type:selectTwo,data_type:0},function(msg){
          msg = JSON.parse(msg);
          if (msg.code == '000') {
          //success
            for (var i = 0; i < msg.data.length; i++) {
              data3.push(parseFloat(msg.data[i].perc).toFixed(2));
            }
            myChart1.setOption({
              legend: {
                data:[selectOne,'index',selectTwo]
              },
              xAxis: {
                data: date,
              },
              yAxis: [
                {
                  name: selectOne,
                },
                {
                  name: 'index',
                  min:index_min,
                  max:index_max
                },
                {
                  name: selectTwo,
                }
                ],
                series: [
                  {
                    name:selectOne,
                    data: data2
                  },
                  {
                    name:'index',
                    data: data1
                  },
                  {
                    name:selectTwo,
                    data: data3
                  }
                  ]
                })
              } else {
                //error
              }
            });
            myChart1.setOption(option1);
          }
    
        myChart1_chart(myChart1,selectOne,selectTwo,option1);
  • 相关阅读:
    过滤非GBK字符
    打印整数数字
    std::string 方法列表
    设计模式——单例模式(Singleton )
    编程之美二进制一的个数
    Jsoncpp试用指南
    GCC下宏扩展后的++i
    关于字节对齐的sizeof的讨论
    Notepad++ 更改和定制主题
    求子数组的最大和
  • 原文地址:https://www.cnblogs.com/rachelch/p/7374079.html
Copyright © 2011-2022 走看看