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 ...
随机推荐
- RESTful再理解
目录 目录 前言 RESTful的目的 REST的含义 表现层 状态转化 无状态协议HTTP 最后 前言 这是在经过一段时间的积累后,对RESTFul框架的再一次更深入的理解.希望能够将零散的知识点连 ...
- python web自动化测试框架搭建(功能&接口)——接口公共方法
接口公共方法有:数据引擎.http引擎.Excel引擎 1.数据引擎:获取用例.结果检查.结果统计 # -*- coding:utf-8 -*- from XlsEngine import XlsEn ...
- phpcms php格式化 时间戳
用PHPCMS V9 建站时,经常会用到时间标签,它是通用标签调用-日期时间格式化,适用全站. 一.日期时间格式化显示: a\标准型:{date('Y-m-d H:i:s', $rs['inputti ...
- 模拟赛毒瘤状压DP题:Kronican
Kronican 内存限制:32 MiB 时间限制:2000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 上传者: cqbzgm 题目描述 Mislav有N个无限体积的杯子,每一个杯子中都 ...
- SEC2- - mysql 的介绍
一.mysql的背景 前身属于瑞典的一家公司,mysql AB 08年被sun公司收购 09年被oracle公司收购 二.mysql的优点 1. 开源免费成本低 2. 性能高,移植性好 3. 体积 ...
- 【洛谷新手村】简单字符串 p1055 ISBN号码
p1055 ISBN号码[传送门] 算法标签什么的: 思路:直接以字符串的形式读入这一串数字,然后for循环对字符串进行处理,字符串中的数字存进数组中(如果是X,存为10):然后再根据要求判断是否是正 ...
- CVE-2013-2094 porting to x86-32 分析
/* * linux 2.6.37-3.8.8 - x86 * @rikiji * * requires System.map and /dev/ptmx * this: http://zmbs.ne ...
- Codeforces - 1195D1 - Submarine in the Rybinsk Sea (easy edition) - 水题
https://codeforc.es/contest/1195/problem/D1 给\(n\)个等长的十进制数串,定义操作\(f(x,y)\)的结果是"从\(y\)的末尾开始一个一个交 ...
- javaScript--基础 选择结构
2.短路现象--扩展 当 true 遇到 || , true || 表达式不执行, 右侧的表达式不执行 当false 遇到 && , false && 表达式不 ...
- vue开发 - 根据vue-router的meta动态设置html里title标签内容
1.路由文件 :router/index.js 添加 meta属性配置: import Vue from 'vue' import Router from 'vue-router' import in ...