509 Stimmen

Matplotlib macht Häkchenbeschriftungen in der Schriftgröße kleiner

In einer Matplotlib Abbildung, wie kann ich die Schriftgröße für die Tick-Labels mit ax1.set_xticklabels() kleiner?

Und wie kann man es von der Horizontalen in die Vertikale drehen?

820voto

Autiwa Punkte 7392

Es gibt tatsächlich einen einfacheren Weg. Ich habe sie 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 gilt nur für die Größe der label Teil Ihrer Frage.

367voto

scottlittle Punkte 15865

Um die Schriftgröße und die Drehung gleichzeitig festzulegen, versuchen Sie dies:

plt.xticks(fontsize=14, rotation=90)

162voto

mechanical_meat Punkte 154171

Bitte beachten Sie, dass neuere Versionen von MPL eine Abkürzung für diese Aufgabe haben. Ein Beispiel finden Sie in der anderen Antwort auf diese Frage: https://stackoverflow.com/a/11386056/42346

Der nachstehende Code dient der Veranschaulichung und muss nicht unbedingt optimiert werden.

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()

enter image description here

91voto

Kyle Swanson Punkte 1088

Eine andere Alternative

Ich habe zwei nebeneinander liegende Diagramme und möchte die Häkchenbeschriftungen separat anpassen.

Die oben genannten Lösungen lagen nahe beieinander, aber sie haben bei mir nicht funktioniert. Ich fand meine Lösung aus dieser matplotlib Seite .

ax.xaxis.set_tick_params(labelsize=20)

Das war genau das Richtige und kam direkt auf den Punkt. Für meinen Anwendungsfall war es das Diagramm auf der rechten Seite, das angepasst werden musste. Da ich für das linke Diagramm neue Häkchenbeschriftungen erstellte, konnte ich die Schriftart mit demselben Verfahren anpassen wie einstellen. der Etiketten.

dh

ax1.set_xticklabels(ax1_x, fontsize=15)
ax1.set_yticklabels(ax1_y, fontsize=15)

daher habe ich für die richtige Handlung verwendet,

ax2.xaxis.set_tick_params(labelsize=24)
ax2.yaxis.set_tick_params(labelsize=24)

Eine kleine Spitzfindigkeit... Ich weiß... aber ich hoffe, das hilft jemandem :)

Bonuspunkte gibt es, wenn jemand weiß, wie man die Schriftgröße des Größenordnungsetiketts anpassen kann.

enter image description here

76voto

user2468932 Punkte 931

Alternativ können Sie das auch einfach tun:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X