Diferença na plotagem com diferentes versões do matplotlib

Um colega meu me entregou um script usado para coletar dados de um banco de dados e plotá-lo. Quando eu mesmo usei o script, os gráficos não têm a mesma aparência e têm a ver com a versão do Matplotlib.

O script que faz a plotagem dos dados é bastante curto:

import matplotlib.pyplot as plt
import csv
import os
from dateutil import parser

def plot(outputDir,plotsDir,FS):
    allfiles = os.listdir(outputDir)
    flist = []
    for f in allfiles:
        if 'csv' in f.lower(): flist.append(f)
    for f in flist:
        with open(outputDir + '/' + f, 'rt') as ff:
            data = list(csv.reader(ff,delimiter=FS))
        values = [i[2] for i in data[1::]]
        values = ['NaN' if v is '' else v for v in values]
        time = [parser.parse(i[1]) for i in data[1::]]
        plt.xlabel('Time_[UTC]')
        plt.plot(time, values)
        plt.xticks(rotation=40)
        if os.path.isdir(plotsDir) != 1:
            os.mkdir(plotsDir, 777)
        plt.savefig('{}/{}_Data.png'.format(plotsDir, f[:-4]), bbox_inches='tight', dpi=160)
        plt.clf()


outputdir = 'C:/Users/matthijsk/Documents/Test'
plotsdir = outputdir + '/plots'
fs = ','
plot(outputdir, plotsdir, fs)

Quando o executo usando o Matplotlib versão 2.1.0, minha imagem fica assim:Quando o executo usando o Matplotlib versão 2.0.2, ele se parece com o que deveria:

O arquivo que o script está lendo tem a seguinte aparência:

stationNo,dtg(UTC),TT_[°C],source_TT,quality_TT
10381,2017-01-01 00:00:00,3.0,ob,na
10381,2017-01-01 01:00:00,3.0,ob,na
10381,2017-01-01 02:00:00,2.4,ob,na
10381,2017-01-01 03:00:00,2.5,ob,na
10381,2017-01-01 04:00:00,2.5,ob,na
10381,2017-01-01 05:00:00,2.3,ob,na
10381,2017-01-01 06:00:00,1.9,ob,na
10381,2017-01-01 07:00:00,1.0,ob,na
10381,2017-01-01 08:00:00,0.1,ob,na
10381,2017-01-01 09:00:00,0.9,ob,na

Alguém pode me explicar o que foi alterado no Matplotlib que causou isso? E, aparentemente, estou fazendo algo errado com a trama que está causando isso. Alguém pode perceber um erro? Eu já tentei usar

values = [float(value) if value.isnumeric() else None for value in values]

Mas isso não resolveu. Nota: Prefiro não usar nenhum pacote não-padrão (como o Pandas), pois é bastante complicado obter aprovação para instalar esses pacotes.

questionAnswers(1)

yourAnswerToTheQuestion