失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > [数据可视化]使用matplotlib对CSV文件数据进行绘图

[数据可视化]使用matplotlib对CSV文件数据进行绘图

时间:2020-10-13 00:07:10

相关推荐

[数据可视化]使用matplotlib对CSV文件数据进行绘图

[数据可视化]使用matplotlib对CSV文件数据进行绘图

使用CSV格式的锡特卡天气数据

绘制1月1日的天气数据,先放成果:

代码部分包括以下内容:

分析CSV文件头打印文件头及其位置提取并读取数据绘制温度图表:模块datetime;给图表区域着色

具体解释放在代码里了。

import csvfrom datetime import datetimeimport matplotlib.pyplot as pltfilename = 'data/sitka_weather__simple.csv'with open(filename) as f:reader = csv.reader(f)header_row = next(reader)#模块csv包含函数next(),调用它并传入阅读器对象时,将返回文件的下一行。上述代码中只、#调用了next()一次,因此得到的是文件的第一行,其中包含文件头。#print(header_row)#reader处理文件中以逗号分隔的第一行数据,并将每项数据都作为一个元素存储在列表中。# for index, column_header in enumerate(header_row):##对列表调用了enumerate()来获取每个元素的索引及其值#print(index, column_header)# 从文件中获取日期、最高温度和最低温度。dates, highs, lows = [], [], []for row in reader: #已经读取了文件头行,循环将从第二行——从这行开始包含实际数据current_date = datetime.strptime(row[2], '%Y-%m-%d') #将字符串"20xx-xx-xx"转换为一个表示相应日期的对象high = int(row[5])low = int(row[6])dates.append(current_date)highs.append(high)lows.append(low)# 根据最高温度绘制图形。plt.style.use('seaborn')fig, ax = plt.subplots()ax.plot(dates, highs, c='red',alpha=0.5) #将日期、最高温度列表传给plot(), 颜色red; alpha:指定颜色透明度,0透明,1不透明ax.plot(dates, lows, c='blue',alpha=0.5)ax.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1)#方法fill_between()着色:一个x值系列(dates),两个y值系列(highs和lows),facecolor指定填充区域颜色# 设置图形的格式。ax.set_title("每日最高温度", fontsize=24)#阿拉斯加州锡特卡7月的每日最高温度ax.set_xlabel('', fontsize=16)#还没有添加日期,因此没给x轴加标签,但确实修改了字号fig.autofmt_xdate() #调用fig.autofmt_xdate()来绘制倾斜的日期标签,以免其彼此重叠ax.set_ylabel("温度 (F)", fontsize=16)ax.tick_params(axis='both', which='major', labelsize=16)plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字体设置-黑体plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题plt.show()

如果觉得《[数据可视化]使用matplotlib对CSV文件数据进行绘图》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。