Matplotlib сделать размер шрифта метки галочки меньше
на рисунке matplotlib, как я могу сделать размер шрифта для меток галочки, используя ax1.set_xticklabels()
меньше?
далее, как можно повернуть из горизонтального положения в вертикальное?
10 ответов
обратите внимание, что более новые версии MPL имеют ярлык для этой задачи. Пример приведен в другом ответе на этот вопрос:https://stackoverflow.com/a/11386056/42346
приведенный ниже код предназначен для иллюстрации и не обязательно может быть оптимизирован.
import matplotlib.pyplot as plt
import numpy as np
def xticklabels_example():
fig = plt.figure()
x = np.arange(20)
y1 = np.cos(x)
y2 = (x**2)
y3 = (x**3)
yn = (y1,y2,y3)
COLORS = ('b','g','k')
for i,y in enumerate(yn):
ax = fig.add_subplot(len(yn),1,i+1)
ax.plot(x, y, ls='solid', color=COLORS[i])
if i != len(yn) - 1:
# all but last
ax.set_xticklabels( () )
else:
for tick in ax.xaxis.get_major_ticks():
tick.label.set_fontsize(14)
# specify integer or one of preset strings, e.g.
#tick.label.set_fontsize('x-small')
tick.label.set_rotation('vertical')
fig.suptitle('Matplotlib xticklabels Example')
plt.show()
if __name__ == '__main__':
xticklabels_example()
на самом деле есть более простой способ. Я только что нашел:
import matplotlib.pyplot as plt
# We prepare the plot
fig = plt.figure(1)
# We define a fake subplot that is in fact only the plot.
plot = fig.add_subplot(111)
# We change the fontsize of minor ticks label
plot.tick_params(axis='both', which='major', labelsize=10)
plot.tick_params(axis='both', which='minor', labelsize=8)
это отвечает только на размер label
часть вашего вопроса.
чтобы указать размер шрифта и поворот одновременно, попробуйте следующее:
plt.xticks(fontsize=14, rotation=90)
альтернативно, вы можете просто сделать:
import matplotlib as mpl
label_size = 8
mpl.rcParams['xtick.labelsize'] = label_size
вы также можете изменить параметры отображения меток, такие как fontsize с помощью такой строки:
zed = [tick.label.set_fontsize(14) for tick in ax.yaxis.get_major_ticks()]
другая альтернатива
у меня есть два графика бок о бок и я хотел бы настроить метки галочек отдельно.
вышеуказанные решения были близко, однако они не работали для меня. Я нашел свое решение из этого matplotlib страница.
ax.xaxis.set_tick_params(labelsize=20)
это сделало трюк и было прямо к делу. Для моего случая использования это был участок справа, который нужно было отрегулировать. На диаграмме слева, так как я создавал новые метки я возможность настройки шрифта в том же процессе, что и seting этикетки.
ie
ax1.set_xticklabels(ax1_x, fontsize=15)
ax1.set_yticklabels(ax1_y, fontsize=15)
таким образом я использовал для правильного сюжета,
ax2.xaxis.set_tick_params(labelsize=24)
ax2.yaxis.set_tick_params(labelsize=24)
В minnor тонко... Я знаю... но я надеюсь, что это поможет кому-то:)
бонусные баллы, если кто-то знает, как настроить размер шрифта метки порядка величины.
для меня сработало следующее:
ax2.xaxis.set_tick_params(labelsize=7)
ax2.yaxis.set_tick_params(labelsize=7)
преимущество вышеуказанного вам не нужно обеспечить array
of labels
и работает с любыми данными на axes
.