Я пытаюсь получить позиции тиков яксис и ксакс из картографических геоосей.
Насколько я понимаю, у общих осей matplotlib есть внутренний метод: 'axes.get_xticks' и 'axes.get_yticks '.
Тем не менее, линия сетки картополя из геоосей не делает. Как я могу получить их?
Кроме того, когда я пытаюсь извлечь тики из геоосей, используя общий формат (то есть: "axes.get_yticks"), я получаю странные координаты.
Вот пример.
import pandas as pd
pd.set_option('display.width', 50000)
pd.set_option('display.max_rows', 50000)
pd.set_option('display.max_columns', 5000)
import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
from matplotlib.offsetbox import AnchoredText
def main(projection = ccrs.Mercator(), drawlicense=True):
fig = plt.figure(figsize=(9,7))
ax = plt.axes(projection=projection)
# Put a background image on for nice sea rendering.
ax.stock_img()
# Create a feature for States/Admin 1 regions at 1:50m from Natural Earth
states_provinces = cfeature.NaturalEarthFeature(
category='cultural',
name='admin_1_states_provinces_lines',
scale='50m',
facecolor='none')
SOURCE = 'Natural Earth'
LICENSE = 'public domain'
ax.add_feature(cfeature.LAND)
ax.add_feature(cfeature.COASTLINE)
ax.add_feature(states_provinces, edgecolor='gray')
# Add a text annotation for the license information to the
# the bottom right corner.
if drawlicense:
text = AnchoredText(r'$\mathcircled{{c}}$ {}; license: {}'
''.format(SOURCE, LICENSE),
loc='right',
bbox_transform=ax.transAxes,
bbox_to_anchor=(1.01, -0.02),
prop={'size': 8},
frameon=False)
ax.add_artist(text)
plt.show()
return ax
ax = main()
Gridliner = ax.gridlines(draw_labels=True)
В этом вышеупомянутом случае, если я попытаюсь извлечь утики из геоосей "топор", я получу массив странных значений как:
In: ax.get_yticks ()
Out: массив ([- 20000000., -15000000., -10000000., -5000000., 0., 5000000., 10000000., 15000000., 20000000.])
Обратите внимание, что значения не в градусах, хотя фигура, а также координаты градуса выбранных картографических состояний проекций.
Следовательно, что я делаю неправильно? Как я могу получить соответствующие градусные координаты карты?
С уважением,