最近在使用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' } }, }, ], }); } }
以上这篇解决echarts数据二次渲染不成功的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
echarts,数据,二次渲染
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】