小程序开发-7使用echarts初见踩坑1

951 阅读2分钟

legend与标题重叠/与图表重叠

  • 可以配置【grid】的top,让图表与上面空出一段距离,然后再设置【legend】的top,让它到一个合适的位置即可
  • 若legend过长,则设置【legend】的width,让legend换行显示
  • 还可以设置itemWidth,修改每个图例左侧小图标的大小
grid: {
	left: '3%',
	right: 0,
	bottom: 15,
	top: 140,
	containLabel: true
},

legend不显示

  • 大概率是legend配置的data和实际series中数据的name不一致,不一致的项将不会显示

缩放

  • 在option中配置dataZoom字段即可缩放
    • type:缩放类型 可选inside内置缩放和slider在外部展示一个滚动条
    • start:开始时的缩放比例,0-100代表0-100%
    • end:结束时的缩放比例,0-100
    • 关于上面两个值的使用暂时还没完全弄明白,但似乎只是影响了开始时的缩放比例,无论两个字段的值为何,实际仍然可以手动在0-100%之间缩放

柱状图累叠

  • series中的数据上设置stack字段,可以让同stack的柱状图在同一条柱体上堆叠
  • 另外如果data值为负数,柱状图会向反向伸长,如果正反值是相同的stack,也可以堆叠

动态获取数据

  • **更新方法:修改option配置项来更新图表内容。配置项通过chart.setOption**方法修改,chart为初始化时赋值得到的对象

  • 更新时的option不需要写全部值,只要写需要修改的字段,其他没提到的字段不会被改变

  • 获取之前option的方法:调用chart.getOption

  • 大坑:==echarts初始化的chart对象要在onReady后再用setTime等待几秒钟才能异步获取到==

  • 进入页面后就渲染图表:

    • 获取后端数据:正常在onload发请求保存到data
    • 更新到图表上:如上方法获取到chart对象,使用chart.setOption修改option配置项即可更改图表内容
    • 这个方法不止可以改数据,任何option内的配置项都可以修改
  • 进入页面后就渲染图表 法2:

    • 直接在图表的初始化方法initChart内部发送请求获取数据,配置到option上。这样就不用纠结获取chart对象的问题了
  • 点击按钮修改图表数据

    • 点击事件处理中调用chart.setOption,传入要更新的option对象即可

ps:如果只是数据series修改,可以不用改x、y轴,echarts会自动选择合适的单位长度