Метки и метки исчезают при использовании масштаба журнала в Matplotlib Python - PullRequest
0 голосов
/ 12 июня 2018

Мне нужно, чтобы ось Y моего графика была в масштабе журнала.Однако при этом метка оси y, метки и название исчезают.

plt.figure(2)
plt.semilogy(data2[0, :, 0], sli)
plt.xlabel('n-value')
plt.ylabel('Intensity')
plt.title('Intensity vs. n-shell')
plt.show()

Значения sli варьируются от 1,0e-21 до 1,0e-8

I'm not cool enough to post images

Когда я увеличиваю достаточно, метка и заголовок возвращаются, но не отмечаются галочками.Не знаю, имеет ли это значение, но подумал, что я это включу.

!still not cool enough

Спасибо

Редактировать: Как оказалось, кодотлично работает, только не на моем ноутбуке Mac.Я проверил код на компьютере друзей под управлением Ubuntu, и он работал отлично.Итак, я думаю, что мои весы журнала не любят МАКС.Тем не менее, у кого-нибудь есть предложения?

«Обновление» для @ ImportanceOfBeingErnest

Ничего не изменилось.

График, полученный из моего кода, запускается с обновленным mplib

График, созданный из кода @Engineero, запускается с обновленным mplib

1 Ответ

0 голосов
/ 13 июня 2018

Попробуйте использовать axis.set_yscale с axis.tick_params.Что-то вроде:

fig = plt.figure(2)
axis = fig.add_subplot(111)
axis.plot(data2[0, :, 0], sli)
axis.set_yscale('log', nonposy='clip')
axis.tick_params(axis='y', which='minor', colors='black')
axis.set_xlabel('n-value')
axis.set_ylabel('Intensity')
axis.set_title('Intensity vs. n-shell')
plt.show()

В основном используется API axis.Это единственный способ, которым я когда-либо смог заставить мелкие отметки масштаба работать на меня так, как я хотел ...

...