Диаграмма рассеяния с картографией и Matplotlib создает карту отсечения

#matplotlib #scatter #cartopy

Вопрос:

Я пытаюсь сделать диаграмму рассеяния на карте с проекцией Робинсона. Однако полученная карта обрезана сбоку, и я не могу понять, почему. У меня не было никаких проблем при создании контурных графиков на аналогичных картах. Долгота и широта для точек, которые я хочу построить, хранятся в двух отдельных списках с плавающими точками (lon, lat), как это:

lon = [2,906250000000000000 e 02, 2,906250000000000000 e 02, 2,906250000000000000 e 02, …]

широта = [-5.315959537001968016 e 01, -5.129437713895114825 e 01,-4.942915369712304852 e 01, …]

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

fig_scale = 2
fig = plt.figure(figsize=(4*fig_scale,3*fig_scale))
gs1 = plt.GridSpec(2, 1,height_ratios=[1, 0.05])
axes = plt.subplot(gs1[0,0], projection=ccrs.Robinson(central_longitude=0.0))


mappab = plt.scatter(x=lon, y=lat,
            transform=ccrs.PlateCarree())

axes.coastlines(color='grey')
axes.gridlines()

plt.show()
 

Комментарии:

1. Помогает ли метод set_global? scitools.org.uk/cartopy/docs/latest/reference/generated/…

2. Нужно axes.set_global() получить весь мировой сюжет.

3. И не используйте plt.scatter() , но axes.scatter() , чтобы избежать путаницы. У вас также есть еще один подзаголовок в соответствии с вашим GridSpec().

4. Да, axes.set_global() делает именно то, что я хочу. Спасибо!