python版本差异_python – 使用不同matplotlib版本绘图的差异

我的一位同事递给我一个脚本,用于从数据库中收集数据并绘制它.当我自己使用脚本时,这些图看起来并不相同,而且它与Matplotlib的版本有关.

绘制数据的脚本非常简短:

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)

当我使用Matplotlib版本2.1.0运行它时,我的图像如下所示:

当我使用Matplotlib版本2.0.2运行它时,它看起来应该是这样的:

脚本正在读取的文件如下所示:

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

任何人都可以解释我在Matplotlib中发生了什么变化导致了这一点?而且显然我正在做一些导致这种情况的阴谋.谁能注意到一个错误?

我已经尝试过了

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

但这并没有解决它.

注意:我宁愿不使用任何非标准软件包(如Pandas),因为获得批准安装此类软件包非常麻烦.

你可能感兴趣的:(python版本差异)