Я пытаюсь построить некоторые точки, используя scatter
на Python базовой карте.
Я понял, что когда я устанавливаю lon_0
из Basemap
в значение, отличное от 0, некоторые из точек, которые я пытаюсь построить с помощью scatter
, не отображаются, но только для определенных проекций карты, пока я не имеют этой проблемы для других. Как правило, это те, которые переключаются слева направо или справа налево от центра при установке lon_O
на значение, отличное от 0.
Вы можете точно понять, что я имею в виду, используя этот код :
# ------------------------------------------ #
# ---------- Some initial settings --------- #
# ------------------------------------------ #
from mpl_toolkits.basemap import Basemap
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
px=np.arange(-179.5,180.5,1)
py=np.zeros(np.size(px))
# ------------------------------------------ #
# --------- End of initial settings -------- #
# ------------------------------------------ #
fig, axs = plt.subplots(2,2,figsize=(10,5))
m = Basemap(projection='eck4',lon_0=0,resolution='c',ax=axs[0,0])
m.drawcoastlines()
m.fillcontinents(color='white')
xx, yy = m(px,py)
m.scatter(xx,yy,s=1.5,marker='o',c='green',zorder=3)
axs[0,0].set_title('Eckert IV projection',fontsize=15)
axs[0,0].set_ylabel("Center 0°",labelpad=20,fontsize=15)
m = Basemap(projection='cyl',lon_0=0,resolution='c',ax=axs[0,1])
m.drawcoastlines()
m.fillcontinents(color='white')
xx, yy = m(px,py)
m.scatter(xx,yy,s=1.5,marker='o',c='green',zorder=3)
axs[0,1].set_title('Equidistant Cylindrical projection',fontsize=15)
m = Basemap(projection='eck4',lon_0=-90,resolution='c',ax=axs[1,0])
m.drawcoastlines()
m.fillcontinents(color='white')
xx, yy = m(px,py)
m.scatter(xx,yy,s=1.5,marker='o',c='green',zorder=3)
axs[1,0].set_ylabel("Center 90°W",labelpad=20,fontsize=15)
m = Basemap(projection='cyl',lon_0=-90,resolution='c',ax=axs[1,1])
m.drawcoastlines()
m.fillcontinents(color='white')
xx, yy = m(px,py)
m.scatter(xx,yy,s=1.5,marker='o',c='green',zorder=3)
plt.show()
Вывод:
Я пытаюсь найти способ нанести на карту недостающие зеленые точки на нижний правый рисунок.
Спасибо за сотрудничество,
SM