Я рисую двухмерный массив в python, используя matplotlib, и у меня возникают проблемы с форматированием меток. Итак, во-первых, мои данные в настоящее время организованы как 2-мерный массив с (высота, широта). Я рисую значения электронной плотности как функции высоты и широты (в основном продольный срез в определенное время).Изменение ярлыков меток без влияния на график
Я хочу обозначить ось x, идущую от -90 до 90 градусов с интервалом 30 градусов, а значения y с другим массивом возвышений (каждый запуск модели имеет разные значения высоты, поэтому я не могу вручную назначить произвольное возвышение) , У меня есть массивы с значениями широты в нем, а другой с значениями высоты - как одномерные массивы.
Вот мой код:
from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
#load the netcdf file into a variable
mar120="C:/Users/WillEvo/Desktop/sec_giptie_cpl_mar_120.nc"
#grab the data into a new variable
fh=Dataset(mar120,mode="r")
#assign model variable contents to python variables
lons=fh.variables['lon'][:]
lats=fh.variables['lat'][:]
var1=fh.variables['UN'][:]
#specifying which time and elevation to map
ionst=var1[0,:,:,21]
ionst=ionst[0:len(ionst)-1]
#close the netCDF file
fh.close()
#Set the figure, size, and resolution
plt.figure(figsize=(8,6), dpi=100, facecolor='white')
plt.subplot(1,1,1)
plt.imshow(ionst, origin='lower', interpolation='spline16')
plt.xticks([-90, -60, -30, 0, 30, 60, 90])
plt.show()
Если я не включаю аргумент plt.xticks я получаю следующее хорошее изображение, но плохие клеща этикетки:
Если я включаю аргумент plt.xticks Я получаю следующее:
Как я могу это исправить? Я хочу, чтобы данные следовали за изменением оси (но были точными). Мне также нужно сделать это для оси y, но без ввода вручную значений и вместо этого массива значений. Благодаря
ли эту запись помощь? http://stackoverflow.com/questions/18696122/change-values-on-matplotlib-imshow-graph-axis – N1B4