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 ...
随机推荐
- s6tu
# -*- coding: utf-8 -*- # @Time : 2018/03/30 15:20 # @Author : cxa # @File : liuuchnagtu.py # @Softw ...
- php用户签到,领取红包
<?php /** * create by jxkshu * Date 2017-09-28 * 用户签到领取红包 */ /** Redis set: key signed:user:mark ...
- 移动端调试 — Pure|微信环境调试方案|App环境调试方案
Pure 详细参见: 中文文档:http://leeluolee.github.io/2014/10/24/use-puer-helpus-developer-frontend/ 源码:https:/ ...
- Vagrant 手册之 Provisioning - File
原文地址 Provisioner 名字:"file" Vagrant 的 file provisioner 允许将文件或目录从主机上传到客户机. File provisioning ...
- django初学---基本目录结构-配置html页面显示步骤
extra_apps 存放第三方应用,包,源码 apps -- 存放内部应用 static --存放CSS文件,JS文件,图片文件等待 media -- 存放系统里允许用户上传的图片或者文件 requ ...
- Rsync+inotify搭建使用
## Rsync搭建 ### 1.1 环境准备 ``` Rsync-Server 192.168.1.174 Client-Rsync 192.168.1.173 服务启动用户都是root,客户端的用 ...
- Spring学习(三)--高级装配
一.Spring profile 在开发软件的时候,有一个很大的挑战就是将应用程序从一个环境迁 移到另外一个环境.开发阶段中,某些环境相关做法可能并不适合迁 移到生产环境中,甚至即便迁移过去也无法正常 ...
- document.domain vs location.hostname vs location.host
限制是同源政策的相同规则 document.domain 获取域名 location.hostname 获取域名 location.host 获取域名+端口 document.domain ...
- 二叉树BinTree4种遍历及其应用
前序遍历 template<class T> void BinTree<T>::PreOrder(BinTreeNode<T>*subTree){ //前序遍历以s ...
- How to exploit the x32 recvmmsg() kernel vulnerability CVE 2014-0038
http://blog.includesecurity.com/2014/03/exploit-CVE-2014-0038-x32-recvmmsg-kernel-vulnerablity.html ...