You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame地理数据映射到美国地图绘制大小随值变化的静态图

静态美国地图点位绘制方案

不需要依赖geoviews+bokeh的交互式渲染栈,使用matplotlib+cartopy即可直接生成静态快照图片,点位大小可直接绑定DataFrame的val列数值,全程无交互组件依赖。

前置依赖安装

执行以下命令安装需要的库:

pip install pandas matplotlib cartopy

完整实现代码

import pandas as pd
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature

# 你的原始数据集
df = pd.DataFrame({
    'city': ['New-York', 'Chicago', 'Los-Angeles'],
    'longitude': [-74.006015, -87.624421, -118.242766],
    'latitude': [40.712728, 41.875562, 34.053691],
    'val': [10, 15, 8]
})

# 初始化画布,采用适配美国本土的兰伯特等角投影
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.LambertConformal())
# 设置地图显示经纬度范围,覆盖美国本土
ax.set_extent([-125, -66, 24, 50], crs=ccrs.PlateCarree())

# 加载底图要素
ax.add_feature(cfeature.LAND, facecolor='#f0f0f0')
ax.add_feature(cfeature.COASTLINE, linewidth=0.8)
ax.add_feature(cfeature.STATES, linewidth=0.5, edgecolor='#888888')
ax.add_feature(cfeature.BORDERS, linewidth=0.8)

# 绘制散点,点位大小与val列值正相关
scatter = ax.scatter(
    x=df['longitude'],
    y=df['latitude'],
    s=df['val'] * 10,  # 10为缩放系数,可根据显示效果调整
    c='#e74c3c',
    alpha=0.7,
    transform=ccrs.PlateCarree(),
    zorder=5
)

# 可选:添加城市名标注
for _, row in df.iterrows():
    ax.text(
        x=row['longitude'] + 0.8,
        y=row['latitude'],
        s=row['city'],
        transform=ccrs.PlateCarree(),
        fontsize=9
    )

# 添加点位大小对应图例
for val in [5, 10, 15]:
    ax.scatter([], [], c='#e74c3c', alpha=0.7, s=val*10, label=str(val))
ax.legend(title='val值', loc='lower right', framealpha=0.8)

# 导出300DPI高清静态图片,也可直接调用plt.show()预览
plt.savefig('us_city_points.png', dpi=300, bbox_inches='tight')
plt.close()

自定义调整说明

  • 点位大小:如果显示的点过大或过小,直接修改s=df['val'] * 10中的乘数即可,数值越大点尺寸越大
  • 地图范围:如果需要展示阿拉斯加、夏威夷区域,调整ax.set_extent()内的经纬度边界参数即可
  • 样式修改:可直接修改点的颜色、透明度、底图填充色、边界线粗细等参数,适配自己的出图需求
  • 输出格式:plt.savefig()支持导出png、jpg、pdf、svg等多种格式,修改文件名后缀即可

注:第一次运行cartopy时会自动下载公开的地理边界数据,等待数秒即可正常出图。


内容的提问来源于stack exchange,提问作者user12314164

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 04:12:24