我想“下载”(保存在pickle
文件中)一个加载在cartopy
中的底图,这样我就可以在matplotlib
{
如何从p
其中p==<cartopy.mpl.geoaxes.GeoAxesSubplot object at 0x124210e10>
提取数据
脚本1
import matplotlib.pyplot as plt
import pickle
import cartopy.feature as cfeature
from cartopy.io.img_tiles import Stamen
def main():
tiler = Stamen('terrain-background')
mercator = tiler.crs
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
ax.set_extent([15.85583, 18.47056, 5.80167, 6.56194], crs=ccrs.PlateCarree())
ax.add_image(tiler, 6)
ax.coastlines('10m')
#plt.show()
pickle.dump(ax, open('map.pkl', 'wb'))
main()
脚本2
import matplotlib.pyplot as plt
import pickle
p=pickle.load(open('map.pkl', 'rb'))
#plt.show() #works; but I want to integrate as a 2nd axis in another figure, now its own figure
fig, axes = plt.subplots(1, 2)
axes[1] = p
plt.show() #shows two axes; but axes[1] is not the map
注意:我标记了basemap
包,因为cartopy
在某个时候正在替换它
在现有图形中,无法轻松地将一组轴交换到另一组轴
您可以在脚本2中尝试以下内容:
定位加载的轴时可能会出现问题,您可以通过保存原始轴的位置,然后执行
p.set_position(saved_position)
来调整加载的轴相关问题 更多 >
编程相关推荐