【数据可视化】用echarts画地图(添加toolbox工具栏)

目录

前言

一,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>

4.5效果图

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在ECharts百度地图添加工具栏,你可以使用ECharts提供的API和百度地图API结合起来实现。 以下是一个简单的示例,显示了如何在ECharts百度地图添加工具栏: ```javascript // 初始化百度地图 var bmap = new BMap.Map("container"); bmap.centerAndZoom(new BMap.Point(116.404, 39.915), 11); bmap.enableScrollWheelZoom(true); // 初始化ECharts实例 var echartsContainer = document.getElementById('container'); var echartsInstance = echarts.init(echartsContainer); // 定义ECharts选项 var option = { // 将ECharts地图类型设置为百度地图 bmap: { center: [116.404, 39.915], zoom: 11, roam: true }, // 定义ECharts工具栏 toolbox: { feature: { saveAsImage: {}, dataView: {}, restore: {}, myTool1: { show: true, title: '自定义工具1', icon: 'path://M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512z m251.15 369.38L503.88 317.5c-5.51-5.5-14.45-5.5-19.96 0L512 330.38V176c0-7.73-6.27-14-14-14s-14 6.27-14 14v161.34l-68.44-68.44c-5.5-5.5-14.44-5.5-19.95 0l-22.63 22.63c-5.5 5.5-5.5 14.44 0 19.95l91.55 91.55c2.75 2.75 6.36 4.12 9.98 4.12s7.23-1.37 9.98-4.12l91.56-91.55c5.5-5.5 5.5-14.44 0-19.95z', onclick: function () { alert('自定义工具1被点击'); } }, myTool2: { show: true, title: '自定义工具2', icon: 'path://M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512z m251.15 369.38L503.88 317.5c-5.51-5.5-14.45-5.5-19.96 0L512 330.38V176c0-7.73-6.27-14-14-14s-14 6.27-14 14v161.34l-68.44-68.44c-5.5-5.5-14.44-5.5-19.95 0l-22.63 22.63c-5.5 5.5-5.5 14.44 0 19.95l91.55 91.55c2.75 2.75 6.36 4.12 9.98 4.12s7.23-1.37 9.98-4.12l91.56-91.55c5.5-5.5 5.5-14.44 0-19.95z', onclick: function () { alert('自定义工具2被点击'); } } } }, // 定义ECharts系列数据 series: [{ type: 'scatter', coordinateSystem: 'bmap', data: [ [116.404, 39.915], [117.404, 39.915], [116.404, 40.915], [117.404, 40.915] ], symbolSize: 20 }] }; // 将选项设置到ECharts实例中 echartsInstance.setOption(option); ``` 请注意,此示例中的选项中有一个`toolbox`对象,其中包含了两个自定义工具。你可以根据需要添加或删除工具。 在上面的示例中,我们使用了一个自定义图标作为工具的图标。如果你没有自己的图标,可以使用ECharts提供的默认图标。例如,使用`saveAsImage`工具的默认图标,只需将`myTool1`工具的`icon`属性设置为`'image://http://echarts.baidu.com/images/favicon.png'`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值