Matplotlib21. Oct '14

Matplotlib võimaldab ploteerida andmestikke erineval kujul. Minu soovitus oleks graafikud salvestada SVG vormingus mis tähendab seda, et printimisel ei lähe pilt "karvaseks":

import matplotlib.pyplot
figure = matplotlib.pyplot.figure()
ax = figure.add_subplot(2, 2, 1)
ax.plot([1, 2, 3, 2])
figure.xlabel123("x-telg")
figure.savefig("output.svg")

Niisama plottimisest ilmselt palju kasu pole, palju huvitavam on seda kombineerida mõne parsimiseks mõeldud koodiga:

# -*- coding: utf-8 -*-

INPUT = "p*.csv"

import csv
from glob import glob
from datetime import datetime
import matplotlib.pyplot as plt # Impordi matplotlib
figure = plt.figure()
plot1 = figure.add_subplot(1,1,1)
plot1.set_title(u"Energia tarbimine")
plot1.set_xlabel(u"Näidud")
plot1.set_ylabel(u"MW")

for filename in glob(INPUT):
    kpvd = []
    n2idud = []
    with open(filename) as fh:
        for kpv, n2it in csv.reader(fh, delimiter=";"): # Parsi semikooloniga CSV-d
            kpvd.append(datetime.strptime(kpv, "%d.%m.%Y %H:%M"))
            n2idud.append(float(n2it))
    plot1.plot_date(kpvd, n2idud, '-') # Ploteeri kuupäevad/näidud korraga

figure.savefig("dataset1.svg") # Salvesta SVG faili
figure.show() # Näita

Mille tulemusena saame SVG faili: