css-Echarts图表初始显示异常非完全显示

1.echarts图表初始加载异常

2.问题原因

初次加载时,由于外层使用%比 echarts dom元素没有完全加载完成,canvas绘画继承本身宽高,造成Echarts图表初始显示异常非完全显示。

3.使用echarts图表可参考以下代码(实现一定的自适应)

<template>
  	<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
	<div id="excelC"  ref="excelChart" style="width: 90%;height:80%;"></div>
</template>
<script>
  methods: {
     setci(data) {
      // 有的话就获取已有echarts实例的DOM节点
      let myChart = echarts.getInstanceByDom(document.getElementById("cicly"))
      // 如果不存在,就进行初始化
      if (myChart == null || myChart == undefined || myChart == '') {
        myChart = echarts.init(document.getElementById("cicly"));
      }
      //对应配置内容
      var option = {
        tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
        },
        series: [
          {
            name: '项目执行情况',
            type: 'pie',
			radius: ['40%', '70%'],
            label: {
              formatter: '{d}%',
              fontSize: 14
            },
            itemStyle: {
              borderColor: '#fff',
              borderWidth: 5
            },
            emphasis: {
              label: {
                show: true,
              },
            },
            data: data,
          },
        ],
      }
      myChart.setOption(option)
	  window.addEventListener('resize', function () {
        myChart.resize();
      });
    },
  //获取后端传输数据
  search() {
   this.setci(Data)
   }
},
mounted() {
	this.$nextTick(() => {
		this.search()
	})
},

4.核心解决代码

   myChart.setOption(option)
	  window.addEventListener('resize', function () {
        myChart.resize();
      });
mounted() {
	this.$nextTick(() => {
		this.search()
	})
},
在Java Web项目中实现四宫格显示四个ECharts图表,通常需要以下步骤: 1. 准备ECharts图表:首先需要准备好四个ECharts图表的配置项(即每个图表的数据、样式和行为设置)。这些配置项可以事先用JSON格式定义好。 2. 后端设置:在Java后端项目中,你需要创建四个不同路径的接口来返回四个图表的配置JSON数据。这些接口可以是RESTful风格的API,使用Spring MVC等框架来实现。 3. 前端页面:在前端页面上,你需要使用HTML和JavaScript来创建四个显示区域,并通过Ajax请求调用后端接口获取图表的配置JSON数据,然后使用ECharts提供的API将数据渲染到对应的显示区域中。 4. CSS布局:使用CSS样式来调整四个图表显示区域的布局,以实现四宫格的布局效果。这通常涉及到使用CSS的`float`属性或者`flex`布局来实现。 5. 图表初始化:在每个图表区域加载完成后,使用ECharts提供的初始化方法来加载并显示图表。 下面是一个简单的示例代码片段,用于说明如何在HTML页面中引入ECharts并在JavaScript中设置四个图表的容器: ```html <!DOCTYPE html> <html style="height: 100%"> <head> <meta charset="utf-8"> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script> </head> <body style="height: 100%; margin: 0"> <div id="chart1" style="width: 50%; height: 50%; float: left;"></div> <div id="chart2" style="width: 50%; height: 50%; float: left;"></div> <div id="chart3" style="width: 50%; height: 50%; float: left;"></div> <div id="chart4" style="width: 50%; height: 50%; float: left;"></div> <script type="text/javascript"> // 假设已经通过Ajax获取到图表配置项,存储在chart1Option, chart2Option, chart3Option, chart4Option变量中 var chart1 = echarts.init(document.getElementById('chart1')); var chart2 = echarts.init(document.getElementById('chart2')); var chart3 = echarts.init(document.getElementById('chart3')); var chart4 = echarts.init(document.getElementById('chart4')); // 设置图表数据并更新显示 chart1.setOption(chart1Option); chart2.setOption(chart2Option); chart3.setOption(chart3Option); chart4.setOption(chart4Option); </script> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值