607 Stimmen

Drehen Achse Text in Python matplotlib

Ich kann nicht herausfinden, wie ich den Text auf der X-Achse drehen kann. Es ist ein Zeitstempel, so wie die Anzahl der Proben zu erhöhen, erhalten sie näher und näher, bis sie überlappen. Ich möchte den Text um 90 Grad drehen, so wie die Proben näher zusammen bekommen, sie sind nicht überlappen.

Unten ist, was ich habe, es funktioniert gut mit der Ausnahme, dass ich nicht herausfinden kann, wie die X-Achse Text zu drehen.

import sys

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import datetime

font = {'family' : 'normal',
        'weight' : 'bold',
        'size'   : 8}

matplotlib.rc('font', **font)

values = open('stats.csv', 'r').readlines()

time = [datetime.datetime.fromtimestamp(float(i.split(',')[0].strip())) for i in values[1:]]
delay = [float(i.split(',')[1].strip()) for i in values[1:]]

plt.plot(time, delay)
plt.grid(b='on')

plt.savefig('test.png')

9voto

Ishan Tomar Punkte 1390
import pylab as pl
pl.xticks(rotation = 90)

4voto

Mudit Punkte 81

So drehen Sie die Beschriftung der x-Achse um 90 Grad

for tick in ax.get_xticklabels():
    tick.set_rotation(45)

3voto

Isac Junior Punkte 266

Das hängt davon ab, was Sie planen.

import matplotlib.pyplot as plt

 x=['long_text_for_a_label_a',
    'long_text_for_a_label_b',
    'long_text_for_a_label_c']
y=[1,2,3]
myplot = plt.plot(x,y)
for item in myplot.axes.get_xticklabels():
    item.set_rotation(90)

Für Pandas und Seegeborene, die dir ein Achsen-Objekt geben:

df = pd.DataFrame(x,y)
#pandas
myplot = df.plot.bar()
#seaborn 
myplotsns =sns.barplot(y='0',  x=df.index, data=df)
# you can get xticklabels without .axes cause the object are already a 
# isntance of it
for item in myplot.get_xticklabels():
    item.set_rotation(90)

Wenn Sie die Beschriftungen drehen müssen, müssen Sie möglicherweise auch die Schriftgröße ändern. font_scale=1.0 um das zu tun.

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