Как изменить проекцию подзаголовка matplotlib существующей оси?Python

Программы на Python
Anonymous
 Как изменить проекцию подзаголовка matplotlib существующей оси?

Сообщение Anonymous »

Я пытаюсь создать простую функцию, которая принимает экземпляр подграфика (

Код: Выделить всё

matplotlib.axes._subplots.AxesSubplot
) и преобразует свою проекцию в другую проекцию, например, в одну из проекций cartopy.crs.CRS.

Идея выглядит примерно так

Код: Выделить всё

import cartopy.crs as ccrs
import matplotlib.pyplot as plt

def make_ax_map(ax, projection=ccrs.PlateCarree()):
# set ax projection to the specified projection
...
# other fancy formatting
ax2.coastlines()
...

# Create a grid of plots
fig, (ax1, ax2) = plt.subplots(ncols=2)
# the first subplot remains unchanged
ax1.plot(np.random.rand(10))
# the second one gets another projection
make_ax_map(ax2)
Конечно, я могу просто использовать функцию fig.add_subplot():

Код: Выделить всё

fig = plt.figure(figsize=(10,5))
ax1 = fig.add_subplot(121)
ax1.plot(np.random.rand(10))

ax2 = fig.add_subplot(122,projection=ccrs.PlateCarree())
ax2.coastlines()
но мне было интересно, существует ли подходящий метод matplotlib для изменения проекции оси подграфика после того, как она была определена. Чтение API matplotlib, к сожалению, не помогло.

Подробнее здесь: https://stackoverflow.com/questions/339 ... sting-axis

Вернуться в «Python»