目录
前言
一,echarts介绍
二,echart的使用
2.1获取Apache ECharts
三,echart中toolbox
3.1 toolbox介绍
3.2 toolbox的基本属性
四,用echart画地图
4.1导入china.js文件
4.2绘制地图
4.3 增加toolbox属性
4.4完整代码
4.5效果图
前言
本文使用echarts和工具栏组件toolbox绘画地图,使用echarts和toolbox 进行数据可视化时可提供直观、交互丰富,可高度个性化定制的数据可视化图表。
一,echarts介绍
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
二,echart的使用
2.1获取Apache ECharts
在http:// https://www.jsdelivr.com/package/npm/echarts echarts CDN by jsDelivr - A CDN for npm and GitHub 选择 dist/echarts.js
,点击并保存为 echarts.js
文件。
2.2引入 Apache ECharts
在刚才保存 echarts.js
的目录新建一个 index.html
文件,内容如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <!-- 引入刚刚下载的 ECharts 文件 --> <script src="echarts.js"></script> </head> </html>
复制
接下来就可以绘画图表啦。
三,echart中toolbox
3.1 toolbox介绍
工具栏是可选的一个组件,可以显示在图标上,里面的每一个工具都具有一个小功能,可以帮助用户和图表更好的交互。ECharts中内置了5个工具:数据区域缩放、动态类型切换、数据视图、重置和导出图片。在option.toolbox属性中进行配置。
3.2 toolbox的基本属性
1, toolbox.feature.saveAsImage // 导出图片
2. toolbox.feature .dataView // 数据视图
3. toolbox.feature .restore // 重置
4. toolbox.feature .dataZoom // 区域缩放
5. toolbox.feature. magicType // 动态图表类型的切换
四,用echart画地图
4.1导入china.js文件
我们需要到github上下载china.js导入echart文件中
地址: GitHub - liangrumeng2015/China.js: echarts里面的地图文件China.js
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <!-- 引入刚刚下载的 ECharts 文件 --> <script src="china.js"></script> </head> </html>
复制
4.2绘制地图
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>bar</title> <script type="text/javascript" src="../static/jquery-3.6.4.min.js"></script> <script type="text/javascript" src="../static/echarts.min.js"></script> <script type="text/javascript" src="../static/china.js"></script> </head> <body> <h2>中国地图</h2> <div id="chart" style="width:900; height:500px;"></div> <script type='text/javascript'> var myChart = echarts.init(document.getElementById('chart')); var option; option = { series: [ { type: 'map', map: 'china', zoom: 1, //按比例放大缩小 //地图下的文字 label: { show: true, color: 'white', fontSize: 10 }, itemStyle: { normal: { borderWidth: 2,//边际线大小 borderColor: '#00ffff',//边界线颜色 areaColor: 'pink'//默认区域颜色 }, emphasis: { show: true, areaColor: '#3066ba',//鼠标滑过区域颜色 shadowOffsetx: 60, //控制板块偏移 shadowOffsety: 20, //控制板块偏移 shadowBlur: 40, //控制阴影模糊程度 borderWidth: 5,//控制板块边框 shadowColor: 'pink', label: { show: true, textStyle: { color: '#fff' } } } }, name: '标签', data: [ { name: "南海诸岛", value: 888, }, { name: "北京", value: 8888, }, { name: "香港", value: 8888, }, { name: "澳门", value: 00000, } ] } ], } myChart.setOption(option); </script> </body> </html>
复制
4.3 增加toolbox属性
toolbox: { show:true, feature: { saveAsImage: {show:true}, // 导出图片//是否显示该工具 dataView: {show:true,}, // 数据视图 restore: {}, // 重置 dataZoom: {}, // 区域缩放 } },
复制
4.4完整代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>bar</title> <script type="text/javascript" src="../static/jquery-3.6.4.min.js"></script> <script type="text/javascript" src="../static/echarts.min.js"></script> <script type="text/javascript" src="../static/china.js"></script> </head> <body> <h2>中国地图</h2> <div id="chart" style="width:900; height:500px;"></div> <script type='text/javascript'> var myChart = echarts.init(document.getElementById('chart')); var option; option = { toolbox: { show:true, feature: { saveAsImage: {show:true}, // 导出图片//是否显示该工具 dataView: {show:true,}, // 数据视图 restore: {}, // 重置 dataZoom: {}, // 区域缩放 } }, series: [ { type: 'map', map: 'china', zoom: 1, //按比例放大缩小 //地图下的文字 label: { show: true, color: 'white', fontSize: 10 }, itemStyle: { normal: { borderWidth: 2,//边际线大小 borderColor: '#00ffff',//边界线颜色 areaColor: 'pink'//默认区域颜色 }, emphasis: { show: true, areaColor: '#3066ba',//鼠标滑过区域颜色 shadowOffsetx: 60, //控制板块偏移 shadowOffsety: 20, //控制板块偏移 shadowBlur: 40, //控制阴影模糊程度 borderWidth: 5,//控制板块边框 shadowColor: 'pink', label: { show: true, textStyle: { color: '#fff' } } } }, name: '标签', data: [ { name: "南海诸岛", value: 888, }, { name: "北京", value: 8888, }, { name: "香港", value: 8888, }, { name: "澳门", value: 00000, } ] } ], } myChart.setOption(option); </script> </body> </html>
复制