在matplotlib中重叠两个图

p4rjhz4m  于 2023-01-21  发布在  其他
关注(0)|答案(1)|浏览(256)

我用matplotlib生成了两个图。第一个代表我的背景,第二个代表我想显示的一组点。有没有办法重叠这两个图?
背景:

import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize = (10,10))
grid_duomo = gpd.read_file('/content/Griglia_2m-SS.shp')  
grid_duomo.to_crs(epsg=32632).plot(ax=ax, color='lightgrey')

点数:

fig = plt.figure(figsize=(10, 10))
ids = traj_collection_df_new_app['id'].unique()
for id_ in ids:
  self_id = traj_collection_df_new_app[traj_collection_df_new_app['id'] == id_]
  plt.plot(
            self_id['lon'],
            self_id['lat'],
            # markers= 'o',
            # markersize=12
        )

31moq8wy

31moq8wy1#

plt.plot()将始终采用matplotlib找到的最新轴,并使用它进行绘图。
它实际上与plt.gca().plot()相同,其中plt.gca()代表“获取当前轴”。
要完全控制使用哪个轴,应执行以下操作:(zorder参数用于设置艺术家的“垂直堆叠”,例如zorder=2将绘制在zorder=1之上)

f = plt.figure()            # create a figure
ax = f.add_subplot( ... )   # create an axis in the figure f

ax.plot(..., zorder=0)
grid_duomo.plot(ax=ax, ..., zorder=1)

# you can then continue to add more axes to the same figure using 
# f.add_subplot() or f.add_axes()

(if这是不清楚的,也许检查matplotlib的quick_start指南?)

相关问题