Dalam matplotlib angka, bagaimana saya bisa membuat ukuran font untuk centang label menggunakan ax1.set_xticklabels()
lebih kecil?
Selanjutnya, bagaimana kita bisa memutar dari horisontal ke vertikal?
Ada cara yang lebih sederhana sebenarnya. Aku hanya ditemukan:
import matplotlib.pyplot as plt
# We prepare the plot
fig, ax = plt.subplots()
# We change the fontsize of minor ticks label
ax.tick_params(axis='both', which='major', labelsize=10)
ax.tick_params(axis='both', which='minor', labelsize=8)
Ini hanya jawaban untuk ukuran label
bagian dari pertanyaan anda meskipun.
Harap dicatat bahwa versi yang lebih baru dari MPL memiliki cara pintas untuk tugas ini. Contoh yang ditampilkan dalam jawaban lain untuk pertanyaan ini: https://stackoverflow.com/a/11386056/42346
Kode di bawah ini adalah untuk tujuan ilustrasi dan mungkin tidak perlu dioptimalkan.
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()
Alternatif lain
Saya memiliki dua petak berdampingan dan ingin menyesuaikan centang label secara terpisah.
Solusi di atas yang dekat namun mereka tidak bekerja untuk saya. Saya menemukan solusi dari ini matplotlib halaman.
ax.xaxis.set_tick_params(labelsize=20)
Ini melakukan trik dan langsung ke titik. Untuk saya gunakan kasus, itu adalah plot pada hak yang harus disesuaikan. Untuk plot di sebelah kiri sejak saya membuat kutu baru label saya mampu menyesuaikan font di proses yang sama seperti seting label.
ie
ax1.set_xticklabels(ax1_x, fontsize=15)
ax1.set_yticklabels(ax1_y, fontsize=15)
dengan demikian aku digunakan untuk plot yang tepat,
ax2.xaxis.set_tick_params(labelsize=24)
ax2.yaxis.set_tick_params(labelsize=24)
Sebuah minnor halus... aku tahu... tapi aku berharap ini akan membantu seseorang :)
Poin Bonus jika ada yang tahu bagaimana untuk menyesuaikan ukuran font dari urutan besarnya label.
Berikut ini bekerja untuk saya:
ax2.xaxis.set_tick_params(labelsize=7)
ax2.yaxis.set_tick_params(labelsize=7)
Keuntungan dari hal di atas adalah anda tidak perlu menyediakan array
dari label
dan bekerja dengan data pada kapak
.