Мне нужно, чтобы на всех моих фигурах были xlabel
, xticks
и xticklabels
вверху. С тех пор я написал функцию для настройки plt.rcParams
, которая служит для инициализации.
Однако, похоже, нет такого параметра для установки xlabel
наверх заранее. Вот упрощенная демонстрация:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['xtick.bottom'] = False
plt.rcParams['xtick.labelbottom'] = False
plt.rcParams['xtick.top'] = True
plt.rcParams['xtick.labeltop'] = True
data = np.arange(9).reshape((3,3))
f,ax = plt.subplots()
ax.imshow(data)
ax.set_xlabel('x label')
ax.set_ylabel('y label')
Вывод:
Currently the way I found to adjust it is putting ax.xaxis.set_label_position('top')
after calling ax.set_xlabel('x label')
.
I'm looking for a solution with two goals:
- It change the default x-label position so that every time
ax.set_xlabel()
is called, it shows up at the top.
- This step could be executed before calling
ax.set_xlabel()
So I don't have to use ax.xaxis.set_label_position()
individually every time.
Extra:
As @r-beginners mentioned, the официальная ссылка действительно предоставила пример. Но в вызванном ими скрипте это ax.set_title('xlabel top')
, которое отличается от ax.set_xlabel('x label')
. Обратите внимание, что заголовок всегда находится вверху по умолчанию, независимо от настройки plt.rcParams
или нет. Полагаю, они по ошибке пропустили этот выпуск.