matplotlib Text abgschnitten

24/09/2008 - 13:37 von Thomas Guettler | Report spam
Hallo,

ich verwende matplotlib 0.98.3 und der Text der Datums X-Achse
ist immer abgeschnitten. Weiß jemand Rat?

{{{
import random
import datetime

def chart():
#from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.backends.backend_cairo import FigureCanvasCairo as FigureCanvas
from matplotlib.figure import Figure
from matplotlib.dates import DateFormatter
fig=Figure()
ax=fig.add_subplot(111)
x=[]
y=[]
now=datetime.datetime.now()
delta=datetime.timedelta(days=1)
for i in range(10):
x.append(now)
now+=delta
y.append(random.randint(0, 1000))
ax.plot_date(x, y, '-')
date_formatter = DateFormatter('%m-%d-%y %H:%M')
ax.xaxis.set_major_formatter(date_formatter)
for l in ax.get_xticklabels():
l.set_rotation('vertical')
l.set_fontsize(8)
l.set_fontname('sans')
ax.autoscale_view()
canvas=FigureCanvas(fig)
canvas.print_png('test.png')
chart()

}}}

Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
 

Lesen sie die antworten

#1 Thomas Guettler
24/09/2008 - 14:36 | Warnen spam
Thomas Guettler schrieb:
Hallo,

ich verwende matplotlib 0.98.3 und der Text der Datums X-Achse
ist immer abgeschnitten. Weiß jemand Rat?




So ich habe die Lösung nun gefunden: autofmt_xdate. Das gesamte Beispiel:
{{{
import random
import datetime

from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from matplotlib.dates import DateFormatter

def chart():
fig=Figure()
ax=fig.add_subplot(111)
x=[]
y=[]
now=datetime.datetime.now()
delta=datetime.timedelta(days=1)
for i in range(10):
x.append(now)
now+=delta
y.append(random.randint(0, 1000))
ax.plot_date(x, y, '-')
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d %H:%M'))
fig.autofmt_xdate()
canvas=FigureCanvas(fig)
canvas.print_png('test.png')
chart()
}}}



Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

Ähnliche fragen