Я делаю некоторые построения с использованием картографии и matplotlib, и недавно я использовал преобразование PlateCarree, но я перешел на Меркатор, потому что Луизиана была слишком сплющена по своему вкусу. До выключателя, у меня был логотип, отображаемый в левом нижнем углу, с помощью этих двух строк кода logo = matplotlib.image.imread('/Users/ian/Desktop/M.png') plt.imshow(logo, extent =(lon-offset -1 + .25, lon - offset + .75, lat - offset + .25, lat - offset + 1 + .75), zorder=35)
Ускорение изображения при применении картографических преобразований
Если протяженность оси была установлена с помощью этих точек
ax.set_extent([lon-offset-1, lon+offset+1, lat-offset, lat+offset])
это то, что сюжет выглядел как использование PlateCarree:
После перехода на Меркатор, я получил все, чтобы хорошо работать, за исключением логотипа. Я добавил аргумент преобразования ключевого слова к изображению черчение линии, так что теперь он читает:
plt.imshow(logo, extent =(lon-offset -1 +.25, lon - offset + .75, lat - offset + .25, lat - offset + 1 + .75), zorder=35, transform=ccrs.PlateCarree())
но теперь логотип потерял свою рассыпчатость и стать перекосом с преобразованием, и наиболее таинственным, он переключил углы в верхний левый угол участка. Теперь это выглядит так:
Кто-нибудь знает, как я могу изменить проекцию моего сюжета без искажения этого изображения? То, что мне действительно нужно сделать, это убедиться, что угол изображения находится в углу графика в преобразованной системе координат, но остальное место размещения изображения не зависит от системы координат. Я думал о том, чтобы поместить изображение в одиночку в отдельном подзаголовке, а не пытаться разместить этот подзаговор непосредственно поверх основного. Похоже, это довольно плохое решение. Благодаря!