Python 如何将真实地图添加为绘图的背景

Python 如何将真实地图添加为绘图的背景,python,geopandas,Python,Geopandas,我试图在绘图后添加一个真实的地图,以显示数据点的位置 但我不知道如何添加真正的地图 我试过几种方法,比如在情节后面放另一个png 但这是不对的 这是我得到的 import geopandas as gpd import tilemapbase BBox = (df.Longitude.min(), df.Longitude.max(), df.Latitude.min(), df.Latitude.max()) print(BBox) (3.3990449, 7.042425700000001

我试图在绘图后添加一个真实的地图,以显示数据点的位置

但我不知道如何添加真正的地图

我试过几种方法,比如在情节后面放另一个png

但这是不对的

这是我得到的

import geopandas as gpd
import tilemapbase

BBox = (df.Longitude.min(), df.Longitude.max(), df.Latitude.min(), df.Latitude.max())
print(BBox)
(3.3990449, 7.042425700000001, 50.8134557, 53.4066264)

tilemapbase.start_logging()
tilemapbase.init(create=True)
extent = tilemapbase.extent_from_frame(NL_shape, buffer = 25)

fig, ax = plt.subplots(figsize=(10,10))
plotter = tilemapbase.Plotter(extent, tilemapbase.tiles.build_OSM(), width=1000)
plotter.plot(ax)
ax.set_xlim(BBox[0]-0.2, BBox[1]+0.2)
ax.set_ylim(BBox[2]-0.5, BBox[3]+0.5)
NL_shape.plot(ax=ax, alpha=0.3, edgecolor="black", facecolor="white")
stores_shape.plot(ax=ax, alpha = 0.2, color="red", marker='o');
我按照这里的指示:

我使用geopandas读取国家边界(json),然后绘制数据

但是我不能使用tilemapbase下载realmap

结果如下:

有人知道如何解决这个问题吗?多谢各位

预期的图像如下所示。基本地图应该像OpenStreetmap一样

在我使用上下文后,我出现了一个错误

它显示如下:


与GeoPandas配套使用
库。-

作为cx上下文导入
图,ax=plt.子批次(图尺寸=(10,10))
NL_形状图(ax=ax,alpha=0.3,edgecolor=“黑色”,facecolor=“白色”)
存储形状图(ax=ax,alpha=0.2,color=“red”,marker=“o”);
add_basemap(ax,crs=NL_shape.crs,source=cx.providers.OpenStreetMap.Mapnik)

您能显示预期的图像吗?好的,我添加了它。我相信它能工作!但是我的开发环境有一个问题。我无法下载上下文包…解决环境:初始冻结解决失败。用灵活的解决方法重试。PackagesNotFoundError:以下软件包无法从当前频道获得:-contextilySolving environment:/Warning:2种可能的软件包分辨率(仅显示不同的软件包):-anaconda/osx-64::openssl-1.1.1h-haf1e3a3_0-默认值/osx-64::openssl-1.1.1h-haf1e3a3done
conda config--env--add channels conda forge
conda contextly安装-c conda forge
可能会有帮助。OK。现在我找到了一种解决问题的方法并安装了上下文。但有一个错误:AttributeError:“AxeImage”对象没有属性“source”