Python CSV- 绘制气温图表
CSV- 绘制气温图表
资源:
链接: https://pan.baidu.com/s/1kqREk-sRnOcC34Mh1lBDHQ 提取码: uyx7
# highs_lows_Jul.py 最高温及最低温
import csv from matplotlib import pyplot as plt
from datetime import datetime # 从文件中获取最高气温
filename = 'data/sitka_weather_07-2014.csv'
with open(filename) as f: # 打开文件
reader = csv.reader(f) # 调用csv.reader(),创建一个与文件相关联的阅读器对象
header_row = next(reader) # 阅读下一行(标题行) """
for index, column_header in enumerate(header_row): # 获取索引及值
print(index, column_header)
""" """
dates = [datetime.strptime(row[0], '%Y-%m-%d') for row in reader] # 使用strptime方法设置日期的格式
highs = [int((int(row[1]) - 32) / 1.8) for row in reader] # Max TemperatureF列 每行的[1]索引处,并将华氏度转换为摄氏度
""" datas = [[datetime.strptime(row[0], '%Y-%m-%d'), int((int(row[1]) - 32) / 1.8)] for row in reader]
dates = [row[0] for row in datas] # or [datas[row][0] for row in range(len(datas))]
highs = [row[1] for row in datas] # or [datas[row][1] for row in range(len(datas))] # 根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10, 6))
plt.plot(dates, highs, c='red') # 设置图形的格式
plt.title('Daily high temperatures - July, 2014', fontsize=24)
plt.xlabel('', fontsize=12)
fig.autofmt_xdate() # 绘制斜的日期标签,以免重叠
plt.ylabel('Temperature (C)', fontsize=12)
plt.tick_params(axis='both', which='major', labelsize=12) # 添加数值
for x, y in zip(dates, highs):
plt.text(x, y, y, ha='center', va='bottom', color='blue') # 修改刻度
plt.xticks(dates[::3]) # 显示阿拉斯加锡特卡2014年7越每日最高气温折线图
plt.show()
# highs_lows_Jul.py 最高温及最低温
import csv from matplotlib import pyplot as plt
from datetime import datetime # 从文件中获取最高气温
filename = 'data/sitka_weather_2014.csv'
with open(filename) as f: # 打开文件
reader = csv.reader(f) # 调用csv.reader(),创建一个与文件相关联的阅读器对象
header_row = next(reader) # 阅读下一行(标题行) datas = [[datetime.strptime(row[0], '%Y-%m-%d'), int((int(row[1]) - 32) / 1.8)] for row in reader]
dates = [row[0] for row in datas]
highs = [row[1] for row in datas] # 根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10, 6))
plt.plot(dates, highs, c='red') # 设置图形的格式
plt.title('Daily high temperatures - 2014', fontsize=24)
plt.xlabel('', fontsize=12)
fig.autofmt_xdate() # 绘制斜的日期标签,以免重叠
plt.ylabel('Temperature (C)', fontsize=12)
plt.tick_params(axis='both', which='major', labelsize=12) # 修改刻度
plt.xticks(dates[::31]) # 显示阿拉斯加锡特卡2014年每日最高气温折线图
plt.show()
# highs_lows_Jul.py 最高温及最低温
import csv from matplotlib import pyplot as plt
from datetime import datetime # 从文件中获取最高气温
filename = 'data/sitka_weather_2014.csv'
with open(filename) as f: # 打开文件
reader = csv.reader(f) # 调用csv.reader(),创建一个与文件相关联的阅读器对象
header_row = next(reader) # 阅读下一行(标题行) datas = [[datetime.strptime(row[0], '%Y-%m-%d'), int((int(row[1]) - 32) / 1.8), int((int(row[3]) - 32) / 1.8)] for row in reader]
dates = [row[0] for row in datas]
highs = [row[1] for row in datas]
lows = [row[2] for row in datas] # 根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10, 6))
plt.plot(dates, highs, c='red', alpha=0.5)
plt.plot(dates, lows, c='blue', alpha=0.5) # 给图表区域着色
plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.2) # fill_between(x, y, y, facecolor, alpha)
# alpha值指定颜色的透明度(0为完全透明,1表示完全不透明) # 设置图形的格式
plt.title('Daily high and low temperatures - 2014', fontsize=24)
plt.xlabel('', fontsize=12)
fig.autofmt_xdate() # 绘制斜的日期标签,以免重叠
plt.ylabel('Temperature (C)', fontsize=12)
plt.tick_params(axis='both', which='major', labelsize=12) # 修改刻度
plt.xticks(dates[::31]) # 显示阿拉斯加锡特卡2014年每日最高气温折线图
plt.show()
Python CSV- 绘制气温图表的更多相关文章
- Python Matplotlib绘制气温图表
代码中数据从 www.wunderground.com/history/ 下载 #coding=utf-8 import csv from datetime import datetime from ...
- Python使用plotly绘制数据图表的方法
转载:http://www.jb51.net/article/118936.htm 本篇文章主要介绍了Python使用plotly绘制数据图表的方法,实例分析了plotly绘制的技巧. 导语:使用 p ...
- 【转】使用Python matplotlib绘制股票走势图
转载出处 一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使 ...
- 使用highcharts 绘制Web图表
问题描述: 使用highcharts 绘制Web图表 Highcharts说明: 问题解决: (1)安装Highcharts 在这些图表中,数据源是一个典型的JavaScrip ...
- Python turtle绘制阴阳太极图代码解析
本文详细分析如何使用Python turtle绘制阴阳太极图,先来分解这个图形,图片中有四种颜色,每条曲线上的箭头表示乌龟移动的方向,首先从中心画一个半圆(红线),以红线所示圆的直径作半径画一个校园, ...
- 利用ichart绘制网页图表
首先,最好的教程在这里:ichartjs 有了这个网站,要绘制网页图表简直方便愉快! 接下来说一下使用方法~~~ 进入网站,点击在线设计器 在线设计器的使用方法就不说了,摸索一下就会了!关键在于两个地 ...
- Python CSV模块简介
Table of Contents 1. CSV 1.1. 简介 1.2. 字典方式地读写 1.3. 其它 2. 参考资料 CSV csv文件格式是一种通用的电子表格和数据库导入导出格式.最近我调用R ...
- python+matplotlib 绘制等高线
python+matplotlib 绘制等高线 步骤有七: 有一个m*n维的矩阵(data),其元素的值代表高度 构造两个向量:x(1*n)和y(1*m).这两个向量用来构造网格坐标矩阵(网格坐标矩阵 ...
- python csv 模块的使用
python csv 模块的使用 歌曲推荐:攀登(live) csv 是用逗号分隔符来分隔列与列之间的. 1. csv的写入 1.简单的写入,一次写入一行 import csv with open(& ...
随机推荐
- js 清空对象\删除对象的属性
在项目中,有些对象用完后需要重置,下面简单介绍下JS中清除对象的方法.方法如下: 方法一:字面量定义对象 第一步,定义一个空对象并打印出来,代码和效果: 代码: var student = {};co ...
- D3D triangle list(三角形列) 小样例
画三角形列的样例程序 #pragma once #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.li ...
- Empower Developers
 Empower Developers Timothy High THingS ARE uSuAlly EASiER SAid THAn donE, and software architects ...
- ijkplayer详解AAA
https://www.jianshu.com/p/c5d972ab0309 https://www.android-arsenal.com/details/1/530 https://stackov ...
- 【联系】—— Beta 分布与二项分布、共轭分布
1. 伯努利分布与二项分布 伯努利分布:Bern(x|μ)=μx(1−μ)1−x,随机变量 x 取值为 0,1,μ 表示取值为 1 的概率: 二项分布:Bin(m|N,μ)=(Nm)μm(1−μ)N− ...
- The name ‘InitialzeComponent’ does not exist in the current context
在Visual Studio中创建Windows Store项目,在MainPage.xaml.cs中出现错误: The name 'InitialzeComponent' does not exis ...
- 将我们的parser转换成Monad
还记得我们上一篇delegate类型的parser吗 ,在开始本篇之前,强烈建议你复习一下这个parser定义 public delegate Maybe<Tuple<T,string& ...
- P1629 邮递员送信(未完成)
题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间.这个邮递员每 ...
- Java 实时论坛 - Sym 1.3.0 发布
简介 Sym 是一个用 Java 写的实时论坛,欢迎来体验! 初衷 Sym 的诞生是有如下几点原因: 我们想实现一种新的网络社区体验,独立博客+社区互动 大多数论坛用户体验不够现代化,想做一个和聊 Q ...
- Android Material Design之CollapsingToolbarLayout使用
CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在Collapsin ...