Echarts 在地图上绘制柱状图
时间:2021-09-03
本文章向大家介绍Echarts 在地图上绘制柱状图,主要包括Echarts 在地图上绘制柱状图使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
首先需要获取地图JSON数据包,点此下载(Echarts官方地图数据,包含世界、中国,及国内各省数据)。
以青海省地图为例:
代码如下:
<script type="text/javascript"> // 读取地图数据 $.getJSON('./mapjson/province/qinghai.json', function(qinghai) { // 注册JSON数据地图至echarts echarts.registerMap('qinghai', qinghai); var myChart = echarts.init(document.getElementById('map')); myChart.showLoading( { text: '加载中...', color: '#c23531', fontSize: '28px', textColor: '#000', maskColor: 'rgba(255, 255, 255, 0.2)', zlevel: 0, }); // 字体、柱图缩放倍数 var scale = 1; // 柱状图数据 var xData = ["立项数", "总经费", "资助经费"]; var xDataUnit = ["项", "万元", "万元"]; var rawData = { '西宁市': [10, 20, 30], '海东市': [10, 30, 20], '海北藏族自治州': [20, 30, 10], '黄南藏族自治州': [20, 10, 30], '海南藏族自治州': [30, 10, 20], '果洛藏族自治州': [30, 20, 10], '玉树藏族自治州': [20, 20, 30], '海西蒙古族藏族自治州': [30, 30, 20], }; // 柱状图所在坐标,与rawData对应 var coordData = { '西宁市': [101.178916, 37.623178], '海东市': [102.10327, 36.902916], '海北藏族自治州': [99.901059, 38.159435], '黄南藏族自治州': [101.219988, 35.517744], '海南藏族自治州': [99.619542, 36.280353], '果洛藏族自治州': [99.242143, 34.4736], '玉树藏族自治州': [95.008522, 34.504049], '海西蒙古族藏族自治州': [93.770785, 37.674663], }; // 柱状图颜色 var colorList = ['242, 95, 96', '88, 235, 82', '75, 146, 230']; // 地图配置 var option = { series: [ { type: 'map', map: 'qinghai', aspectScale: 1, // 地图比例 zoom: 1.25, // 地图缩放倍数 label: { // 地图字体,通常状态 normal: { show: true, color:"#fff", fontSize: 12 * scale, }, // 地图字体,选中状态 emphasis: { show: true, fontSize: 12 * scale, color:"#fff" } }, itemStyle: { // 地图区块样式,通常状态 normal: { areaColor: { x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#073684' }, { offset: 1, color: '#061E3D' }, ], }, borderColor: '#215495', borderWidth: 2 * scale, }, // 地图区块样式,选中状态 emphasis: { areaColor: { x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: '#094ab3' }, { offset: 1, color: '#092f5e' }, ], }, } }, }, ] }; myChart.hideLoading(); myChart.setOption(option, true); myChart.resize(); // 遍历省内所有地区,分别添加柱状图 echarts.util.each(qinghai.features, function(dataItem, idx) { // 从rawData中获取当前地区对应的柱状图数据 var thisData = rawData[dataItem.properties.name]; // 根据coordData中当前地区经纬度计算柱状图在图表内的对应坐标 var coord = myChart.convertToPixel({seriesIndex: 0}, coordData[dataItem.properties.name]); // 生成柱状图数据 var tmpOption = { xAxis : [], yAxis : [], grid : [], series : [], tooltip : { trigger: 'item', axisPointer: { type: 'none' }, textStyle: { fontSize: 12 * scale, }, formatter: function(params) { var returnStr = ''; if(params.componentSubType == 'bar') { returnStr += params.marker + ' '; returnStr += params.name + ':' + params.value; returnStr += ' ' + xDataUnit[params.dataIndex]; } return returnStr; } } }; // 生成柱状图x轴配置 tmpOption.xAxis.push( { id: idx, gridId: idx, splitLine: { show: false }, axisTick: { show: false }, axisLabel: { show: false }, data: xData, z: 100 }); // 生成柱状图y轴配置 tmpOption.yAxis.push( { id: idx, gridId: idx, splitLine: { show: false }, axisTick: { show: false }, axisLabel: { show: false }, z: 100 }); // 配置柱状图绘制大小、位置 tmpOption.grid.push( { id: idx, width: 30 * scale, height: 40 * scale, left: coord[0], top: coord[1], z: 100 }); // 生成柱状图数据 tmpOption.series.push( { id: idx, type: 'bar', xAxisId: idx, yAxisId: idx, barGap: 0, barCategoryGap: 0, data: thisData, z: 100, itemStyle: { normal: { color: function(params) { return new echarts.graphic.LinearGradient( 0, 0, 0, 1, [ { offset: 0, color: 'rgba(' + colorList[params.dataIndex] + ', 1)' }, { offset: 0.4, color: 'rgba(' + colorList[params.dataIndex] + ', 0.5)' }, { offset: 1, color: 'rgba(' + colorList[params.dataIndex] + ', 0.2)' }, ], false); } } } }); myChart.setOption(tmpOption); }); }) </script>
欢迎转载,转载时请注明来源。
原文地址:https://www.cnblogs.com/XiaoMingBlingBling/p/15222913.html
- CacheManager:–个通用缓存接口抽象类库
- silverlight: http请求的GET及POST示例
- 如何判断AI创造物能够成为“作品”?附独家视频讲解
- 程序员最喜欢的五大神器
- UE4新手编程之创建C++项目
- 如何启动“Microsoft File Transfer Manager”
- 职责链(Chain of Responsibility)模式在航空货运中的运用实例
- 灵活的 overflow
- 制作WordPress侧边栏“热门文章”小工具并集成在主题中的方法
- 好用的WCF Visualizers
- java 邮件发送
- 制作WordPress侧边栏“随机文章”小工具并集成在主题中的方法
- 使用熔断器设计模式保护软件
- H2 Database入门
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- leetcode树之将有序数组转换为二叉搜索树
- 在 Ubuntu 上安装 Protobuf 3 的教程详解
- protobuf简单介绍和ubuntu 16.04环境下安装教程
- Ubuntu解决火狐浏览器无法同步书签的问题【推荐】
- Ubuntu添加swap分区的方法
- linux文件目录管理命令整理总结
- C++核心准则SF.8:为所有的.h文件使用包含监护
- 利用logsave如何将命令输出保存起来
- CentOs下安装gcc/g++/gdb的方法
- 详解firewall的规则设置与命令(白名单设置)
- 二叉树:构造一棵最大的二叉树
- Ubuntu16.04 ext4格式硬盘挂载普通用户权限控制的操作方法
- Apache Spark 2.0 在作业完成时却花费很长时间结束
- centos 6.9 升级glibc动态库的详细过程
- Ubuntu18.04(linux)安装MySQL的方法步骤