pyecharts基于Bmap绘制可视化地图数据时,如何在标签显示时去除经纬度,只显示数值

在使用pyecharts 1.7.1版本基于Bmap绘制地图数据时,遇到标签显示为经纬度而非数据值的问题。通过调整LabelOpts的formatter参数,使用回调函数,成功实现只显示数据值。示例代码展示了如何在散点和选中标签上仅展示数据值,提供了解决此类问题的方法。

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

说明
笔者使用的pyecharts版本是1.7.1,如果使用0.x版本不知道是否可行,因为两个版本代码差异较大。
问题描述:
在pyecharts基于Bmap百度地图绘制可视化地图数据时,根据地名和数据值,例如(北京,200),(天津,45)。在该位置显示散点,在散点上方显示该数据值。显示时发现,显示的数值不是给定的数据值,而是纬度值。如图:
在这里插入图片描述
可以看到上图,每个散点上对应的有值,但是这些值不是我给定的数据值,发现是这个点的纬度坐标。
问题解决:
通过查看官方文档发现,在LabelOpts标签配置项里有一个formatter参数,该参数支持字符串模板和回调函数两种形式,其中字符串模板显示有四个选项:{a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)。如下图:
在这里插入图片描述
发现可以使用formatter=‘{c}’显示数值,将其写入LabelOpts里,.add()代码如下:

.add(   
        type_="effectScatter",
        series_name="",         
        data_pair=data,
        symbol_size=10,
        effect_opts=opts.EffectOpts(),
        label_opts=opts.LabelOpts(
            position="top",
            is_show=True,   #is_show是否显示标签,点上面的内容
            formatter='{c}',
            ), 
        itemstyle_opts=opts.ItemStyleOpts(),
        is_selected=True,  #选中图
好的,我可以帮你实现这个数据可视化散点图,并且在PyCharm中引入百度地图。 首先,你需要安装以下库: - `pandas`:用于读取Excel表格数据。 - `pyecharts`:用于绘制基于百度地图的散点图。 你可以在PyCharm的Terminal中使用以下命令来安装这些库: ``` pip install pandas pyecharts ``` 接下来,你可以使用以下代码来读取Excel表格数据,并绘制基于百度地图的散点图: ```python import pandas as pd from pyecharts.charts import BMap from pyecharts import options as opts # 读取Excel表格数据 df = pd.read_excel('data.xlsx') # 提取经度、纬度、叶绿素浓度列数据 lng = df['经度'].values.tolist() lat = df['纬度'].values.tolist() value = df['叶绿素浓度'].values.tolist() # 绘制基于百度地图的散点图 bmap = ( BMap() .add_schema(baidu_ak='你的百度地图API密钥') .add( "叶绿素浓度", [list(z) for z in zip(lng, lat, value)], type_='scatter', label_opts=opts.LabelOpts(formatter='{c}'), itemstyle_opts=opts.ItemStyleOpts(color=lambda x: '#FF0000' if x > 10 else '#008000' if x > 5 else '#00FF00') ) .set_global_opts(title_opts=opts.TitleOpts(title="秦皇岛海域叶绿素浓度")) ) # 保存图表 bmap.render('map.html') ``` 在上面的代码中,我们首先使用`pd.read_excel()`函数读取Excel表格数据,并提取出经度、纬度、叶绿素浓度列数据。然后,我们使用`BMap()`函数创建一个基于百度地图的散点图对象,并设置百度地图API密钥。接着,我们使用`.add()`函数添加散点图数据,并设置标签格式、颜色等参数。最后,我们使用`.set_global_opts()`函数设置图表标题。最后,我们使用`.render()`函数保存图表,并生成一个HTML文件。 需要注意的是,在上面的代码中,我们使用了`.add_schema()`函数来设置百度地图API密钥。你需要将代码中的`你的百度地图API密钥`替换为你自己的百度地图API密钥。 希望这个代码可以帮到你,如果你有任何问题,请随问我。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值