Σε ένα σχήμα της matplotlib, πώς μπορώ να κάνω το μέγεθος της γραμματοσειράς για τις ετικέτες των τικ χρησιμοποιώντας την ax1.set_xticklabels()
μικρότερο;
Περαιτέρω, πώς μπορεί κανείς να το περιστρέψει από οριζόντιο σε κατακόρυφο;
Στην πραγματικότητα υπάρχει ένας απλούστερος τρόπος. Μόλις βρήκα:
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)
Αυτό όμως απαντά μόνο στο μέρος της ερώτησής σας που αφορά το μέγεθος της ετικέτας.
Σημειώστε ότι οι νεότερες εκδόσεις του 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()
Μπορείτε επίσης να αλλάξετε τις παραμέτρους εμφάνισης της ετικέτας, όπως το μέγεθος γραμματοσειράς, με μια γραμμή όπως αυτή:
zed = [tick.label.set_fontsize(14) for tick in ax.yaxis.get_major_ticks()]