pyecharts使用百度地图BMap时显示自定义位置的散点图

该博客介绍了如何使用Python库PyEcharts结合Baidu Map API,在地图上创建带有涟漪效果的散点图。通过加载自定义的json文件来设置地点坐标,然后利用add_coordinate_json方法添加坐标数据,并通过add函数添加系列数据,展示了一个包含'A'和'B'两个地点的示例。博客还展示了地图配置选项,如中心点、缩放级别、鼠标平移缩放功能和地图样式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开门见山,解决方案如下
在BMap.add_schema()后加.add_coordinate_json(“BMAP.json”)
json文件需要自己创建,格式是这样的:
{
“地点1”:[经度,纬度],
“地点2”:[经度,纬度],
}

之后在add()函数中加入数据

数据格式如:[[‘地点1’, 1], [‘地点2’, 2], [‘地点n’, 6]]

这是我下面实例用到的json文件:
{
“A”:[116.403963,39.915119],
“B”:[116.433547,39.909462]
}

from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.charts import BMap
from pyecharts.faker import Faker
from pyecharts.globals import BMapType, ChartType
from pyecharts.globals import GeoType

datamap = (
    BMap()
    .add_schema(baidu_ak=bd_ak,
                center=[116.403963,39.915119],
                zoom=15,
                is_roam=True, #鼠标平移缩放
                map_style= {"style":'googlelite'},)        #对地图样式进行配置
    .add_coordinate_json("test_BMAP.json")
    .add(
        "",  #series_name="", 不使用的话会在地图上方有个小点  
        [['A',1],['B',1]],
#         type_="effectScatter",
        type_ = GeoType.EFFECT_SCATTER,   #涟漪效果
        label_opts=opts.LabelOpts(formatter="{a}", position="right", is_show=False), #标签位置#is_show是否显示标签,点上面的内容
        #formatter为标签内容格式器{a}:系列名;{b}:数据名;{c}:数值数组也可以是回调函数 
        itemstyle_opts=opts.ItemStyleOpts(color="purple"),
#         is_selected=True,  #选中图例
    ).set_global_opts(
        title_opts=opts.TitleOpts(
            title=" ",
            subtitle=" ",
            pos_left="center",
            title_textstyle_opts=opts.TextStyleOpts(color="#fff"), #文字样式配置
        ),
        tooltip_opts=opts.TooltipOpts(trigger="item"),        #标签配置,选中某一个点显示的框  #触发类型,item主要用于散点图
         #显示提示框formatter为标签内容格式器{a}:系列名;{b}:数据名;{c}:数值数组也可以是回调函数
    )
#     .add_control_panel(
#         copyright_control_opts=opts.BMapCopyrightTypeOpts(position=3),
#         maptype_control_opts=opts.BMapTypeControlOpts(
#             type_=BMapType.MAPTYPE_CONTROL_DROPDOWN
#         ),
#         scale_control_opts=opts.BMapScaleControlOpts(),
#         overview_map_opts=opts.BMapOverviewMapControlOpts(is_open=True),
#         navigation_control_opts=opts.BMapNavigationControlOpts(),
#         geo_location_control_opts=opts.BMapGeoLocationControlOpts(),
#     )
    .render("test.html")
)

效果如下:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值