vueeCharts达成多图表之间转换以及宽度不平衡问题

原创
小哥 3年前 (2022-11-10) 阅读数 43 #大杂烩

vue eCharts启用多个图表之间的切换和宽度不稳定性问题。

import * as echarts from "echarts"; flag:0, findDoubtLibraryInfo() { let params = { pageNum: this.pageNum, pageSize: this.pageSize, }; findDoubtLibraryInfo(params) .then((res) => { this.flag = res.data.flag; if (this.flag == 0) { //this.$nextTick,如果不添加此项,则显示的宽度可能有问题,只需在开关处添加 this.$nextTick(() => { this.myDoubtBankListEcharts1(); }); } else { this.$nextTick(() => { this.myDoubtBankListEcharts3(); }); } }) .catch((err) => {}); }, myDoubtBankListEcharts1() { document.getElementById("myDoubtBankListEcharts1").style.display ="block"; document.getElementById("myDoubtBankListEcharts1").style.width = "100%"; let myDoubtBankListEcharts1 = echarts.init(document.getElementById("myDoubtBankListEcharts1")); let ratioNumber = [80]; myDoubtBankListEcharts1.setOption({ grid: { left: "5%", right: "5%", bottom: "5%", top: "10%", containLabel: true, }, backgroundColor: "transparent", // xAxis: { // show: false, // type: value, // max: 100, // }, xAxis: [ { type: "value", axisLabel: { margin: 5, color: "#fff", formatter: function (val) { return val + ""; }, textStyle: { fontSize: "0", }, }, min: 0, max: 100, // 计算最大值 // interval: max / 5, // 平均分为5份 splitNumber: 15, splitLine: { show: false, lineStyle: { color: "#fff", }, }, axisLine: { show: false, lineStyle: { color: "#fff", width: 1, opacity: 0.3, }, }, axisTick: { show: false, }, }, { type: "value", axisLabel: { show: false, }, min: 0, max: 100, // 计算最大值 interval: 100 / 10, // 平均分为5份 splitNumber: 10, splitLine: { show: false, lineStyle: { type: "dashed", color: "#D8D8D8", }, }, axisLine: { show: false, lineStyle: { color: "#fff", }, }, axisTick: { show: false, }, }, ], yAxis: [ { type: "category", inverse: true, axisLabel: { show: false, textStyle: { fontSize: "12", color: "#03fcfe", }, }, splitLine: { show: false, }, axisTick: { show: false, }, axisLine: { show: false, }, data: ["比率"], }, { type: "category", inverse: true, axisTick: "none", axisLine: "none", show: false, data: ratioNumber, //80 }, ], series: [ { type: "bar", showBackground: false, xAxisIndex: 0, backgroundStyle: { color: "transparent", borderRadius: 30, z: 1212, }, label: { show: true, position: "right", formatter: "{@score}%", textStyle: { color: "rgb(25, 142, 248)", fontSize: "16", }, }, itemStyle: { normal: { borderRadius: 20, color: "rgb(25, 142, 248)", }, }, barWidth: 20, data: ratioNumber, //80 z: 12212, }, { type: "bar", showBackground: false, xAxisIndex: 1, barGap: "-100%", backgroundStyle: { color: "transparent", borderRadius: 30, z: 1212, }, label: { show: false, position: "right", formatter: "{@score}%", textStyle: { color: "#fff", fontSize: "12", }, }, itemStyle: { normal: { borderRadius: 20, color: "rgba(215, 236, 255,.4)", }, }, barWidth: 20, data: [100], z: 12210, }, ], }); window.addEventListener("resize", function () {//自适应屏幕大小 myDoubtBankListEcharts1.resize(); }); }, myDoubtBankListEcharts3() { //通过v-show显示,此处需要display =block否则,宽度和高度无法显示。 document.getElementById("myDoubtBankListEcharts3").style.display ="block"; document.getElementById("myDoubtBankListEcharts3").style.width = "100%"; let myDoubtBankListEcharts3 = echarts.init(document.getElementById("myDoubtBankListEcharts3")); let ratioNumber = [80]; myDoubtBankListEcharts3.setOption({ grid: { left: "5%", right: "5%", bottom: "5%", top: "10%", containLabel: true, }, backgroundColor: "transparent", // xAxis: { // show: false, // type: value, // max: 100, // }, xAxis: [ { type: "value", axisLabel: { margin: 5, color: "#fff", formatter: function (val) { return val + ""; }, textStyle: { fontSize: "0", }, }, min: 0, max: 100, // 计算最大值 // interval: max / 5, // 平均分为5份 splitNumber: 15, splitLine: { show: false, lineStyle: { color: "#fff", }, }, axisLine: { show: false, lineStyle: { color: "#fff", width: 1, opacity: 0.3, }, }, axisTick: { show: false, }, }, { type: "value", axisLabel: { show: false, }, min: 0, max: 100, // 计算最大值 interval: 100 / 10, // 平均分为5份 splitNumber: 10, splitLine: { show: false, lineStyle: { type: "dashed", color: "#D8D8D8", }, }, axisLine: { show: false, lineStyle: { color: "#fff", }, }, axisTick: { show: false, }, }, ], yAxis: [ { type: "category", inverse: true, axisLabel: { show: false, textStyle: { fontSize: "12", color: "#03fcfe", }, }, splitLine: { show: false, }, axisTick: { show: false, }, axisLine: { show: false, }, data: ["比率"], }, { type: "category", inverse: true, axisTick: "none", axisLine: "none", show: false, data: ratioNumber, //80 }, ], series: [ { type: "bar", showBackground: false, xAxisIndex: 0, backgroundStyle: { color: "transparent", borderRadius: 30, z: 1212, }, label: { show: true, position: "right", formatter: "{@score}%", textStyle: { color: "rgb(25, 142, 248)", fontSize: "16", }, }, itemStyle: { normal: { borderRadius: 20, color: "rgb(25, 142, 248)", }, }, barWidth: 20, data: ratioNumber, //80 z: 12212, }, { type: "bar", showBackground: false, xAxisIndex: 1, barGap: "-100%", backgroundStyle: { color: "transparent", borderRadius: 30, z: 1212, }, label: { show: false, position: "right", formatter: "{@score}%", textStyle: { color: "#fff", fontSize: "12", }, }, itemStyle: { normal: { borderRadius: 20, color: "rgba(215, 236, 255,.4)", }, }, barWidth: 20, data: [100], z: 12210, }, ], }); window.addEventListener("resize", function () {//自适应屏幕大小 myDoubtBankListEcharts3.resize(); }); },
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门