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会自动选择合适的单位长度