擅长:python、mysql、java
<p>无法更改现有轴的投影,原因如下。但是,解决底层问题的方法只是使用matplotlib文档<a href="http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.subplots" rel="noreferrer">here</a>中描述的<code>subplot_kw</code>参数。例如,如果希望所有子块都具有<code>cartopy.crs.PlateCarree</code>投影,则可以执行</p>
<pre class="lang-python prettyprint-override"><code>import matplotlib.pyplot as plt
import cartopy.crs as ccrs
# Create a grid of plots
fig, (ax1, ax2) = plt.subplots(ncols=2, subplot_kw={'projection': ccrs.PlateCarree()})
</code></pre>
<p>关于实际问题,在创建轴集时指定投影将确定获得的轴类,每个投影类型的轴类不同。例如</p>
<pre class="lang-python prettyprint-override"><code>import matplotlib.pyplot as plt
import cartopy.crs as ccrs
ax1 = plt.subplot(311)
ax2 = plt.subplot(312, projection='polar')
ax3 = plt.subplot(313, projection=ccrs.PlateCarree())
print(type(ax1))
print(type(ax2))
print(type(ax3))
</code></pre>
<p>此代码将打印以下内容</p>
<pre><code><class 'matplotlib.axes._subplots.AxesSubplot'>
<class 'matplotlib.axes._subplots.PolarAxesSubplot'>
<class 'cartopy.mpl.geoaxes.GeoAxesSubplot'>
</code></pre>
<p>注意每个轴实际上是一个不同类的实例。</p>