Wie kann ich in einer Matplotlib-Abbildung die Schriftgröße für die Tick-Labels verwenden? ax1.set_xticklabels()
kleiner?
Wie kann man es außerdem von horizontal nach vertikal drehen?
Öffne den Weg
Wie kann ich in einer Matplotlib-Abbildung die Schriftgröße für die Tick-Labels verwenden? ax1.set_xticklabels()
kleiner?
Wie kann man es außerdem von horizontal nach vertikal drehen?
Autiwa
Es gibt tatsächlich einen einfacheren Weg. Ich habe gerade gefunden:
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)
Dies beantwortet nur die Größe von label
Teil deiner Frage aber.
Verwenden axis = 'x'
oder axis = 'y'
um nur eine der Achsen zu ändern
– geliebt.von.Jesus
28. April 2020 um 15:08 Uhr
Um sowohl die Schriftgröße als auch die Drehung gleichzeitig anzugeben, versuchen Sie Folgendes:
plt.xticks(fontsize=14, rotation=90)
mechanisches_fleisch
Bitte beachten Sie, dass neuere Versionen von MPL eine Verknüpfung für diese Aufgabe haben. Ein Beispiel wird in der anderen Antwort auf diese Frage gezeigt: https://stackoverflow.com/a/11386056/42346
Der folgende Code dient der Veranschaulichung und ist möglicherweise nicht unbedingt optimiert.
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()
Kyle Swanson
Eine weitere Alternative
Ich habe zwei Diagramme nebeneinander und möchte Teilstrichbeschriftungen separat anpassen.
Die oben genannten Lösungen waren nahe, aber sie funktionierten nicht für mich. Ich habe meine Lösung aus dieser Matplotlib gefunden Buchseite.
ax.xaxis.set_tick_params(labelsize=20)
Das hat den Trick getan und war direkt auf den Punkt. Für meinen Anwendungsfall war es das Diagramm auf der rechten Seite, das angepasst werden musste. Für das Diagramm auf der linken Seite konnte ich, seit ich neue Tick-Labels erstellt habe, die Schriftart im gleichen Prozess wie anpassen Satzdie Etiketten.
dh
ax1.set_xticklabels(ax1_x, fontsize=15)
ax1.set_yticklabels(ax1_y, fontsize=15)
also habe ich für die richtige Handlung verwendet,
ax2.xaxis.set_tick_params(labelsize=24)
ax2.yaxis.set_tick_params(labelsize=24)
Eine kleine Feinheit … ich weiß … aber ich hoffe, das hilft jemandem 🙂
Bonuspunkte, wenn jemand weiß, wie man die Schriftgröße der Größenordnungsbezeichnung anpasst.
Alternativ können Sie einfach Folgendes tun:
import matplotlib as mpl
label_size = 8
mpl.rcParams['xtick.labelsize'] = label_size
Georgi
plt.tick_params(axis="both", which="minor", labelsize=12)
Christoph
In aktuellen Versionen von Matplotlib können Sie dies tun axis.set_xticklabels(labels, fontsize="small")
.
Danke für diese Frage, ich versuche gerade, dieses Problem zu lösen. Ich bin hier nicht sehr eigensinnig, aber anscheinend denken die Wähler, dass die beste Antwort nicht die akzeptierte ist. Was denken Sie?
– Russland muss Putin entfernen
♦
18. Juni 2017 um 19:25 Uhr
Habe ich richtig gelesen, dass es mindestens 5 verschiedene Möglichkeiten gibt, die Schriftgröße in Matplotlib zu ändern? 😀
– famargar
26. Februar 2018 um 13:06 Uhr