vue Echarts自适应浏览器窗口大小
<template>
<div class="chinaecharts">
<div id="mapChart" ref="mapChart" ></div>
</div>
</template>
<script>
export default {
name: 'ChinaEcharts',
methods: {
mapFn(){
console.log('画图')
// 基于准备好的dom,初始化echarts实例
// var mapChart = this.$echarts.init(this.$refs.mapChart);
var mapChart = this.$echarts.init(document.getElementById('mapChart'));
mapChart.setOption({
backgroundColor: '', //背景颜色
title: {
text: '中国',
subtext: 'China',
color: '#fff',
// sublink: 'http://www.pm25.in',
x:'center',
},
//是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。
visualMap: {
min: 0, //最小值
max: 600, //最大值
calculable: true, //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。
inRange: {
color: ['#fb714c', '#70b4f4', '#70e4f4', '#f09640', '#f9d9bb'] //颜色
},
textStyle: {
color: '#fff'
},
},
// 提示框,鼠标移入
tooltip:{
show:true, //鼠标移入是否触发数据
trigger: 'item', //出发方式
formatter:'{b}-销售数量:{c}'
},
//配置地图的数据,并且显示
series:[
{
name:'地图',
type: 'map', //地图种类
map: 'china', //地图类型。
data:[
{name: '北京',value: Math.round(Math.random()*500)},
{name: '天津',value: Math.round(Math.random()*500)},
{name: '上海',value: Math.round(Math.random()*500)},
{name: '重庆',value: Math.round(Math.random()*500)},
{name: '河北',value: Math.round(Math.random()*500)},
{name: '河南',value: Math.round(Math.random()*500)},
{name: '云南',value: Math.round(Math.random()*500)},
{name: '辽宁',value: Math.round(Math.random()*500)},
{name: '黑龙江',value: Math.round(Math.random()*500)},
{name: '湖南',value: Math.round(Math.random()*500)},
{name: '安徽',value: Math.round(Math.random()*500)},
{name: '山东',value: Math.round(Math.random()*500)},
{name: '新疆',value: Math.round(Math.random()*500)},
{name: '江苏',value: Math.round(Math.random()*500)},
{name: '浙江',value: Math.round(Math.random()*500)},
{name: '江西',value: Math.round(Math.random()*500)},
{name: '湖北',value: Math.round(Math.random()*500)},
{name: '广西',value: Math.round(Math.random()*500)},
{name: '甘肃',value: Math.round(Math.random()*500)},
{name: '山西',value: Math.round(Math.random()*500)},
{name: '内蒙古',value: Math.round(Math.random()*500)},
{name: '陕西',value: Math.round(Math.random()*500)},
{name: '吉林',value: Math.round(Math.random()*500)},
{name: '福建',value: Math.round(Math.random()*500)},
{name: '贵州',value: Math.round(Math.random()*500)},
{name: '广东',value: Math.round(Math.random()*500)},
{name: '青海',value: Math.round(Math.random()*500)},
{name: '西藏',value: Math.round(Math.random()*500)},
{name: '四川',value: Math.round(Math.random()*500)},
{name: '宁夏',value: Math.round(Math.random()*500)},
{name: '海南',value: Math.round(Math.random()*500)},
{name: '台湾',value: Math.round(Math.random()*500)},
{name: '香港',value: Math.round(Math.random()*500)},
{name: '澳门',value: Math.round(Math.random()*500)},
{name: '南海诸岛',value: Math.round(Math.random()*500)}
],
itemStyle: { //地图区域的多边形 图形样式。
emphasis:{ //高亮状态下的样试
label:{
show:true,
}
}
},
zoom:1,//放大比例
label: { //图形上的文本标签,可用于说明图形的一些数据信息
show:true,
},
},
{
type:'scatter',
showEffectOn: 'render',//配置什么时候显示特效
coordinateSystem:'geo',//该系列使用的坐标系
symbolSize:10,//标记的大小
data:[
{name: '宜昌', value: [111.3,30.7,130]},
],
zlevel:99999
},
],
}),
window.addEventListener('resize', () => {
// 自动渲染echarts
mapChart.resize();
})
}
},
mounted () {
this.mapFn();
}
}
</script>
<style scoped>
.chinaecharts {
width: 50%;
height: 50%;
}
#mapChart {
width: 100%;
height: 100%;
}
</style>
最重要的是在methods里面添加这段代码
window.addEventListener('resize', () => {
// 自动渲染echarts
mapChart.resize();
})
注意:在这里不能写成this.mapChart.resize(),因为这里的this指向的是window,此时应该要指向的是echarts自身,是window对图表的监听
然后再mounted函数里面进行渲染
mounted () {
this.mapFn();
}
https://blog.csdn.net/HH18700418030/article/details/96281813
vue Echarts自适应浏览器窗口大小的更多相关文章
- ExtJS6 自适应浏览器窗口大小
ExtJS6官方文档推荐使用Ext.on.做一个小例子,创建一个Panel显示在页面上,使它的大小随浏览器变化,自适应浏览器窗口大小. html:增加一个css样式给Panel加上红色border. ...
- JQuery iframe宽高度自适应浏览器窗口大小的解决方法
iframe宽高度自适应浏览器窗口大小的解决方法 by:授客 QQ:1033553122 1. 测试环境 JQuery-3.2.1.min.js 下载地址: https://gitee.com ...
- Echarts同一页面多个图表自适应浏览器窗口大小——window.onresize
当前做的一个项目中,频繁使用到百度团队的Echarts,发在一个页面同时出现多个图表时,只有最后一个图表触发了window.onresize事件,查询官方文档后得到解决. 方法如下: hwChart. ...
- Echarts自适应浏览器大小
var myChart = echarts.init(document.getElementById('sitesChar')); var option = { title : { text: 'No ...
- vue监听浏览器窗口大小变化
首先,页面初始化mounted的时候,通过 document.body.clientWidth 和 document.body.clientHeight 来获取到浏览器的宽和高,然后通过 window ...
- echarts图表自适应浏览器窗口的大小
echarts问题描述 当浏览器窗口发生变化时,echarts图表未能自适应浏览器的变化,产生如下的效果 解决方案 在$(function(){}中添加 window.onresize = funct ...
- easyui panel自适应浏览器宽度
一.目标效果: 当浏览器窗口大小改变时.panel宽度始终为浏览器宽度的50%,panel高度则根据其中内容的多少而变化,横向竖向滚动条皆不出现.且不需要重新刷新浏览器或者其他js代码 兼容:chro ...
- JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...
- JS获取各种浏览器窗口大小的方法
常用:JS 获取浏览器窗口大小复制代码 代码如下:// 获取窗口宽度if (window.innerWidth)winWidth = window.innerWidth;else if ((docum ...
随机推荐
- 网站名,服务器名,url,ip,域名的区别和联系。
平时我们可能容易混淆这几个名词含义,今天我打算捋一捋这几个概念. 我们知道,两台计算机要想互相通信,就像古代写信一样,地址必须要唯一的,不然就会出错.计算机之间通信也是一样的,要保证计算机的地址的唯一 ...
- Matplotlib系列(四)--plt.bar与plt.barh条形图
(一)竖条条形图 参数说明 参数 说明 类型 x x坐标 int,float height 条形的高度 int,float width 线条的宽度 0~1,默认是0.8 botton 条形的起始位置 ...
- gradle自动化打包apk
前堤是要在安卓项目中配置好gradle.build脚本 ## !/bin/sh ## 项目名 ##使配置文件生效,否则会报gradle:命令找不到 source /etc/profile TARGET ...
- 【转载】Spring Boot:常用属性汇总
附录A.常用应用程序属性 摘自:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-pr ...
- no suitable ctr exists to convert from 'int' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char> >
int xfun(int *a,int n) { int x = *a;//a的类型是int *,a+1跳动一个int的长度 ; pa < a + n; pa++)//指向同一个类型的指针比较大 ...
- 使用HEXO建站
使用Hexo模板 按以下指导进行本地预览和上传到你的github. 环境安装 安装node.js node.js官方下载地址https://nodejs.org/en/ 设置npm淘宝镜像站(npm默 ...
- MySQL数据库忘记密码如何重新设置?
前 言当我们忘记了MySQL数据库密码后,该如何重新进行设置? 操作步骤步骤1:cmd打开命名窗口 步骤2:关闭正在运行的MySQL服务(命令:net stop mysql)(如果:此时MySQL正在 ...
- java Semaphore信号灯
Semaphore实现的功能就类似2个公用电话,假如有10个人要打电话:那么只能2个人占有电话,8个需要等待.当2个人中 的任何一个人让开后,其中等待的另外8个人中又有一个人可以使用了等待的8个人中可 ...
- spring-第六篇之创建bean的3种方式
1.创建bean的方式有3种: 1>使用构造器创建bean,即设值注入.构造注入本质都是使用bean的构造器创建bean的. 2>使用静态工厂方法创建bean. 3>调用实例工厂方法 ...
- MyEclipse停止自带插件的启动
MyEclipse启动时因为自身带有很多的插件,所以在启动时运行的速度特别慢,所以可以选择一下启动时的插件,将不使用的插件选择在MyEclipse启动时不起动. 步骤如下: windows->p ...