Мне кажется, что ноль, который должен появиться справа, также показан слева; Заметьте, что эта метка немного смелее других ?!
![enter image description here](https://i.stack.imgur.com/x5MfY.png)
Причина в том, что 360% 360 == 0, поэтому галочка вращается вокруг начала.
Обходной путь - установить последний сдвинутый тик, как
[0, 60, 120, 180, 240, 300, 359.9999999999]
или
[0, 60, 120, 180, -120, -60, -1e-10]
Пример:
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter
def make_map(scale):
fig=plt.figure(figsize=(8, 6))
ax=plt.axes(projection=ccrs.PlateCarree(central_longitude=180))
ax.set_global()
land = cfeature.NaturalEarthFeature('physical', 'land', scale,edgecolor='face',
facecolor=cfeature.COLORS['land'])
ax.add_feature(land, facecolor='0.75')
ax.coastlines(scale)
ax.set_xticks([0, 60, 120, 180, 240, 300, 359.9999999999], crs=ccrs.PlateCarree())
ax.set_yticks([-90, -60, -30, 0, 30, 60, 90], crs=ccrs.PlateCarree())
lon_formatter = LongitudeFormatter(zero_direction_label=True)
lat_formatter = LatitudeFormatter()
ax.xaxis.set_major_formatter(lon_formatter)
ax.yaxis.set_major_formatter(lat_formatter)
ax.grid()
return fig,ax
fig,ax=make_map(scale='110m')
plt.show()
![enter image description here](https://i.stack.imgur.com/L6up1.png)