Python: Как увеличить / уменьшить размер шрифта меток x и y?

Кажется, у меня есть проблема в выяснении, как увеличить или уменьшить fontsize меток x и y при использовании matplotlib,

Я знаю, что есть set_xticklabels(labels, fontdict=None, minor=False, **kwargs) функции, но я не смог понять, как контролировать fontsize в этом.

Я ожидал что-то как-то явное, вроде

title_string=('My Title')
plt.suptitle(title_string, y=1.0, fontsize=17)

но я пока не нашел ничего подобного. Что мне не хватает?

3 ответа

Решение

Это проще, чем я думал.

Чтобы установить размер шрифта для отметок по оси X:

x_ticks=['x tick 1','x tick 2','x tick 3']
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)

Чтобы сделать это для тиков оси Y:

y_ticks=['y tick 1','y tick 2','y tick 3']
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)

Аргументы rotation а также fontsize может легко контролировать то, что я был после.

Ссылка: http://matplotlib.org/api/axes_api.html

Вы можете установить размер шрифта прямо в вызове set_xticklabels а также set_yticklabels (как отмечено в предыдущих ответах). Это повлияет только на один Axes вовремя.

ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)

Вы также можете установить ticklabel размер шрифта в глобальном масштабе (т.е. для всех рисунков / участков в сценарии) с использованием rcParams:

import matplotlib.pyplot as plt

plt.rc('xtick',labelsize=8)
plt.rc('ytick',labelsize=8)

Или, что эквивалентно:

plt.rcParams['xtick.labelsize']=8
plt.rcParams['ytick.labelsize']=8

Наконец, если это настройка, которую вы хотели бы установить для всех ваших графиков matplotlib, вы также можете установить эти два rcParams в вашем matplotlibrc файл:

xtick.labelsize      : 8 # fontsize of the x tick labels
ytick.labelsize      : 8 # fontsize of the y tick labels

Не следует использовать set_yticklabels изменить размер шрифта, так как это также установит метки (то есть он заменит любой автоматический форматер на FixedFormatter), что обычно нежелательно. Проще всего установить соответствующие tick_params:

ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)

или же

ax.tick_params(labelsize=8)

в случае, если обе оси имеют одинаковый размер.

Конечно, использование rcParams, как и в ответе @tmdavison, также возможно.

Используйте ключевое слово size вместо fontsize,

Другие вопросы по тегам