解决echarts数据二次渲染不成功的问题
作者:有时间织个毛衣 发布时间:2024-04-27 15:56:44
标签:echarts,数据,渲染
最近在使用echarts做报表需求,二次生成报表时数据合并,无法正确显示。
第一次渲染:
第二次渲染:
可以看到这里的echarts项的series变为2个(如上图),但是渲染后的效果series项还是和第一次相同。
解决办法:
应该设置mychart.setoption({},true);
原因:
chart.setOption(option,notMerge,lazyUpdate);
option:图表的配置项和数据
notMerge:可选,是否不跟之前设置的option进行合并,默认为false,即合并。(这里是导致二次渲染不成功的根本)
lazyUpdate:可选,在设置完option后是否不立即更新图表,默认为false,即立即更新。
补充知识:请求到数据后echarts图表的重新渲染问题
我就废话不多说了,大家还是直接看代码吧~
export default{
data(){
return{
//定义接受数据的空数组
柱状图
e2data1:[],
e2data2:[],
}
mounted() {
//加载图表
this.drawLine();
},
created(){
// 并发发送多个请求
axios.all([this.getTable1Data1()])
.then(axios.spread(function (acct, perms) {
console.log("所有数据请求成功");
}));
},
methods:{
getTable1Data1(){
let formData=new FormData;
formData.append("companyName",this.chose);
return axios.post('/StockFirstnfirstout/trendChart',formData)
.then(response=> {
let list=response.data.trendChartOfMonth;
//每次加载前清空接口数据
this.e2data1=[];
this.e2data2=[];
list.forEach((value,i)=>{
this.e2data1.push(value.count);
this.e2data2.push(value.saleMonth);
});
//重新渲染图表
myChart2.setOption({
xAxis: {
data:this.e2data2
},
series: [
{name:'柱状图',
data: this.e2data1
}]
});
console.log(this.e2data1);
console.log(this.e2data2);
})
.catch(error=> {
console.log(error);
});
},
// 基于准备好的dom,初始化echarts实例
//注意出myChart2的作用域
myChart2 = echarts.init(document.getElementById('zhLine'));
myChart2.setOption({
title: {text: '本月累计趋势图',
//
textStyle:{
color:'#000', //颜色
fontStyle:'normal', //风格
fontWeight:'normal', //粗细
fontFamily:'Microsoft yahei', //字体
fontSize:16, //大小
align:'center', //水平对齐
lineHeight:50
},
// title位置
padding:[20, 0, 20, 30]
},
legend: {
data:['环比',],
//折点提示位置
left:'90%',
top:'5%'
},
grid:{ //显示数据的图表位于当前canvas的坐标轴
x:50,
y:80,
borderWidth:1,
},
tooltip: {
trigger: 'axis',
backgroundColor : '#ccc',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
}
}
},
xAxis : [
{ name:'日期',
type : 'category',
data : this.e2data2,
axisLine: {
lineStyle: {
color: '#999'
}
},
axisTick:{
show:false
},
},
],
yAxis : [
{
type : 'value',
name:'台数',
interval: 30,
scale: true,
show:true,
splitLine:{
show:false
},
axisTick:{
show:false
},
nameTextStyle:{
padding: [0,0,0,-20],
color:'#999999'
},
axisLine: {
lineStyle: {
color: '#999'
}
},
},
{
type: 'value',
// name: '温度',
min: 0,
//取消y轴网格
interval: 25,
scale: true,
show:true,
splitLine:{
show:false
},
axisTick:{
show:false
},
axisLine: {
lineStyle: {
color: '#999'
}
},
}
],
series : [
{
name:'环比',
type:'line',
stack: '总量',
color:'#fccd35',
symbolSize: 8,
//按右边y轴显示
yAxisIndex: 1,
data:[30, 15, 42, 65, 38, 40, 78,50]
},
{
name:'柱状图',
type:'bar',
//柱状图宽度
barWidth: '13%',
data:this.e2data1,
itemStyle:{
normal:{
color:'#84d1d3'
}
},
},
],
});
}
}
来源:https://blog.csdn.net/chenjin_chenjin/article/details/82018156


猜你喜欢
- select 终极美化,主要是针对下拉框的美化一个很古老的话题了,不过貌似目前为止也没有比较好的做到,在jxdawei的基础上做了
- 这篇文章主要介绍了python错误调试及单元文档测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- import timedef block(file,size=65536): while True:&n
- 很多时候我们都需要了解下python中导入包的属性方法信息,当然dir 是最便捷的了,不过如果想知道特定的,例如以_ 开头的属性,需要写个筛
- 内容摘要:网页设计师制作网页最常用的设计软件应该就算adobe的产品Photoshop了,当然Photoshop不仅可以设计网页,不过作为网
- BS架构的企业级应用中,当一个表格列数较多时,用户一个常见的需求就是把前面几个重要的列固定住,这样拖动滚动条时固定的列会方便用户查看数据,用
- 目录前言Tips - django版本区别路由匹配无名分组&有名分组无名分组有名分组小提示反向解析路由不涉及分组的反向解析有名分组&
- 同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月My
- 前言众所周知,网页版的B站无法下载视频,然本人喜欢经常在B站学习,奈何没有网时,无法观看视频资源,手机下载后屏幕太小又不想看,遂写此程序以解
- Vignere密码Vignere Cipher包含用于加密和解密的Caesar Cipher算法. Vignere Cipher与Caesa
- 题目:给一个列表,找元素在此列表中的位置,如果找到,返回此元素的下标,如果找不到,那就直接返回空解决方法1:# _*_ coding:UTF
- PyQt中MainWindow, QWidget以及Dialog的区别和选择1. Qt界面分类在Qt Designer设计界面时,首先需要选
- 最近,我有机会在一个真实的 Golang 场景中使用泛型,同时寻找与 Stream filter(Predicate<? super
- 逻辑比较简单 ,直接上代码 定时发送直接使用了win服务器的定时任务来定时执行脚本#coding:utf-8from __futu
- 目录一、pyecharts绘制词云图WordCloud.add()方法简介二、绘制词云图对应轮廓按diamond显示三、对应完整代码如下所示
- 前言我们先说一下思路:先对目标网站发送请求,获取html源码,然后对源码里面的所以图片链接进行筛选,然后再次对图片链接发送请求,然后保存。思
- 需求:需要在pycharm中跑一个深度学习的项目但是tensorflow包导不入问题分析:当前使用的是anaconda的3.8版本,无法正常
- 本文实例讲述了Python开发的实用计算器。分享给大家供大家参考,具体如下:实现功能:图形界面PyQt,输入框,+,—,*,/ ;乘方 ,开
- 在编写程序时,数据库结构会经常变化,所以经常需要编写一些数据库脚本,编写完成后需发往现场执行,如果已经存在或者重复执行,有些脚本会报错,所以
- PS:下面是转过来的,用于记录下,这个不是正则的初衷,只是用了REGEXP而已,正则的更灵活更方便 将comment表中的author_ur