python matplotlib yaxis смещение изображения - PullRequest
0 голосов
/ 17 июня 2020

Я создаю изображение, подобное следующему в Python3 .6:

enter image description here

с помощью следующего кода:

# What file are we reading in?
file2read0 = "/path0/" + yyyy + '_' + monthy + '.npy'
file2read1 = "/path1/" + yyyy + '_' + monthy + '.npy'
file2read2 = "/path2/" + yyyy + '_' + monthy + '.npy'
file2read3 = "/path3/" + yyyy + '_' + monthy + '.npy'
file2read4 = "/path4/" + yyyy + '_' + monthy + '.npy'

# Read the files!
data0 = np.load(file2read0,allow_pickle=True)
data1 = np.load(file2read1,allow_pickle=True)
data2 = np.load(file2read2,allow_pickle=True)
data3 = np.load(file2read3,allow_pickle=True)
data4 = np.load(file2read4,allow_pickle=True)

alldata = np.vstack([data0,data1])
alldata = np.vstack([alldata,data2])
alldata = np.vstack([alldata,data3])
alldata = np.vstack([alldata,data4])
alldata = alldata.astype(int)

fig,ax = plt.subplots()
im = ax.imshow(alldata)

ax.set_xticks(np.arange(len(dayy)))
ax.set_xticklabels(dayy)
plt.setp(ax.get_xticklabels(), rotation=45, ha="right", rotation_mode="anchor")

for i in range(0,5):
    for j in range(0,len(dayy)):
        text = ax.text(j,i,alldata[i,j], ha="center",va="center",color="w")

Этот код делает большую часть того, что я хочу. Проблема в том, что я хочу изменить текст на оси y. Я хочу, чтобы каждая строка имела ytick и была связана с ней метка (скажем, path0, path2, ..., path4) с помощью следующего кода (аналогично приведенному выше, только сейчас с yaxis):

ax.set_yticks(np.arange(5))
ax.set_yticklabels(["path0","path1","path2","path3","path4"])
plt.setp(ax.get_yticklabels(), rotation=45, ha="right", rotation_mode="anchor")

Я получаю следующее:

enter image description here

Я хотел бы знать, почему это происходит и как лучше всего это исправить, чтобы нижняя часть / верхние половинки данных не отрубаются добавленным текстом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...