Verkleinern Sie die Schriftgröße von Tick-Labels

Lesezeit: 3 Minuten

Öffnen Sie den Benutzeravatar des Weges
Ö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?

  • 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

Benutzeravatar von Autiwa
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)

Benutzeravatar von Mechanical_meat
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()

Geben Sie hier die Bildbeschreibung ein

Benutzeravatar von Kyle Swanson
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.

Geben Sie hier die Bildbeschreibung ein

Alternativ können Sie einfach Folgendes tun:

import matplotlib as mpl
label_size = 8
mpl.rcParams['xtick.labelsize'] = label_size 

Benutzeravatar von Georgy
Georgi

plt.tick_params(axis="both", which="minor", labelsize=12)

Benutzeravatar von Christoph
Christoph

In aktuellen Versionen von Matplotlib können Sie dies tun axis.set_xticklabels(labels, fontsize="small").

1448950cookie-checkVerkleinern Sie die Schriftgröße von Tick-Labels

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy