echart动态获取数据不显示

当时写完echart,然后当模拟数据动态显示的时候,把里面的data直接替换成获取回来的数据不显示,后来发现是当页面初始加载的时候就已经取数据了且只取一次,所以就用了一个watch监视,监视变化需要在重新渲染,但是发现一直在发送请求,所以后来就在获取数据之后再创建echart示例就好了呀,代码如下

drawLine() {
      getLine(this.lineQuery).then(response => {
        // 基于准备好的dom,初始化echarts实例,发送请求回来再创建实例
        this.lineDatas = response.data
        this.myChart = echarts.init(document.getElementById(‘myChart‘))
        const option = {
          tooltip: {
            trigger: ‘axis‘,
            axisPointer: {
              type: ‘cross‘,
              label: {
                backgroundColor: ‘#6c6c6c‘
              },
              lineStyle: {
                color: ‘#004E52‘,
                opacity: 0.5,
                width: 2
              }
            }
          },
          legend: {
            data: this.lineDatas.emotionLevel,
            icon: ‘circle‘
          },
          toolbox: {
            feature: {
              saveAsImage: {}
            }
          },
          grid: {
            left: ‘3%‘,
            right: ‘4%‘,
            bottom: ‘3%‘,
            containLabel: true
          },
          xAxis: [
            {
              type: ‘category‘,
              boundaryGap: false,
              data: this.lineDatas.statTime
            }
          ],
          yAxis: [
            {
              type: ‘value‘
            }
          ],
          series: [
            {
              name: this.lineDatas.emotionCharts[0].emotionLevel,
              type: ‘line‘,
              itemStyle: {
                normal: {
                  color: ‘#F56C6C‘,
                  lineStyle: {
                    color: ‘#F56C6C‘
                  }
                }
              },
              data: this.lineDatas.emotionCharts[0].statNum
            },
            {
              name: this.lineDatas.emotionCharts[1].emotionLevel,
              type: ‘line‘,
              itemStyle: {
                normal: {
                  color: ‘#E6A23C‘,
                  lineStyle: {
                    color: ‘#E6A23C‘
                  }
                }
              },
              data: this.lineDatas.emotionCharts[1].statNum
            },
            {
              name: this.lineDatas.emotionCharts[2].emotionLevel,
              type: ‘line‘,
              itemStyle: {
                normal: {
                  color: ‘#409EFF‘,
                  lineStyle: {
                    color: ‘#409EFF‘
                  }
                }
              },
              // stack: ‘总量‘,
              data: this.lineDatas.emotionCharts[2].statNum
            }
          ]
        }
        // 绘制折线
        this.myChart.setOption(option)
      }).catch(() => {})
    },

  

原文地址:https://www.cnblogs.com/zhaocainiao/p/10861300.html

时间: 2024-08-07 03:33:11

echart动态获取数据不显示的相关文章

highcharts动态获取数据生成图表问题

动态获取数据说白点就是从后台传值到前台,前台把这些值赋值给x轴与y轴.  柱状图的动态传值: //获取后台数据 var x = [];//X轴 var y = [];//Y轴 var xtext = [];//X轴TEXT var color = ["#FFB6C1","#DC143C","#C71585","#D8BFD8","#8B008B","#4B0082","#6A5

vc 在edit控件中动态插入数据滚动显示

内存从网上论坛摘抄整理 思路:给控件设置多行属性,设置垂直滚动条,Auto Vscroll设置为true,放入文本后把插入点设置到末尾 pEdit->LineScroll(pEdit->GetLineCount()); 滚动条滚动到最下端 int len  = pEdit->GetWindowTextLength(); pEdit->SetSel(len,-1,true); //定位光标到内容末尾pEdit->ReplaceSel("12121212");

React使用jquery方式动态获取数据

今天用了一下最简单的方式获取数据处理,来结合react实现实时请求,并刷新数据的小demo. 首先我还是选择了jquery方式中自带的ajax获取数据,首先要引用所需的js包 接下来要写一个自定义的js文件, 创建一个react组件: var Demo = React.createClass({}); //渲染组件 React.render(<Demo url="../data/package.json" setTime="2000" />,docume

asp.net mvc Areas 母版页动态获取数据进行渲染

经常需要将一些通用的页面元素抽离出来制作成母版页,但是这里的元素一般都是些基本元素,即不需要 进行后台数据交换的基本数据,但是对于一些需要通过后台查询的数据,我们应该怎么传递给前台的母版页呢 这里描述的是对于多个页面统一的数据部分,即多个页面中均保持一致且与各个页面无其他关系的页面, 虽然我们可以通过razor使用C#语言来获取数据并写入页面中,但这就违背我们view中尽可能不处理数据的意愿了 所以给出的解决方案是,通过ViewBag将需要的数据写入页面中,将读取数据的操作提取到baseCont

layui基本使用(动态获取数据,并把需要的数据传到新打开的窗口)

<div class="xiaoxi">\n' + ' <div class="layui-row">\n' + ' <input type="hidden" name="id" class="id" value="' + item.ID + '"/>\n' + ' <input type="hidden" name=&quo

extjs--combo动态获取数据

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <link href="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-classic/resources/theme-classic-all.css" rel="stylesheet" /> 5 <script type="text/javasc

Python+Selenium+Mysql(动态获取数据,数据库交互)

一.创建数据库连接 #!coding:utf-8 import pymysql ''' Python3之后不再支持MySQLdb的方式进行访问mysql数据库: 可以采用pymysql的方式 连接方式: 1.导包 import pymysql 2.打开数据库连接 conn = pymysql.connect(host='10.*.*.*',user='root',password='123456',db='self_dev',charset='utf8',cursorclass=pymysql.

小程序三级联动(动态获取数据)

做了两个小时才发现...不适合文字太多的联动,没办法.只能改成三个选择框的那种.在这里记录一下是如何做的,然后以后有用时再用. js const app = getApp(); Page({ data: { index: null, picker: ['喵喵喵', '汪汪汪', '哼唧哼唧'], multiNameArray: [ ['请选择','无脊柱动物', '脊柱动物'], ['请选择','一年级','二年级'], ['请选择','1班','2班', '3班'] ], muliArray:

一种动态获取数据的方法

<table class="table table-hover table-bordered table-striped dataTable"> <!--表头--> <thead> <tr role="row"> <th class="sorting text-center" tabindex="0" rowspan="1" colspan="