Python 解析CSV文件 使用Matplotlib绘图

数据存储在CSV文件中,使用Matplotlib实现数据可视化。

CSV文件:comma-separated values,是在文件中存储一系列以‘,’分隔的值。

例如:"0.0","2016-01-03","1","3","2016","Birmingham","BHM","Birmingham, AL","Alabama","39","46","32","33","4.33"

本文使用的CSV文件是一组天气数据。

Matplotlib绘图代码如下:

import csv
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#为显示中文设置字体
from datetime import datetimefilename = 'data/weather.csv'
with open(filename) as f:reader = csv.reader(f)header_row = next(reader)# for index,info in enumerate(header_row):#     print(index,info)# 0 Data.Precipitation# 1 Date.Full# 2 Date.Month# 3 Date.Week of# 4 Date.Year# 5 Station.City# 6 Station.Code# 7 Station.Location# 8 Station.State# 9 Data.Temperature.Avg Temp# 10 Data.Temperature.Max Temp# 11 Data.Temperature.Min Temp# 12 Data.Wind.Direction# 13 Data.Wind.Speed#从文件中获得特定地点Birmingham信息Birmingham_highs, Birmingham_lows= [],[]Birmingham_dates = []for row in reader:if row[5] == 'Birmingham':date = datetime.strptime(row[1], '%Y-%m-%d')high = int(row[10])low = int(row[11])Birmingham_dates.append(date)Birmingham_highs.append(high)Birmingham_lows.append(low)plt.style.use('Solarize_Light2')
fig,ax = plt.subplots(figsize=(10,6))#设置窗口尺寸
ax.plot(Birmingham_dates,Birmingham_highs,linewidth=3,c='red',alpha=0.5)#绘制最高温折线,红色,透明度0.5
ax.plot(Birmingham_dates,Birmingham_lows,linewidth=3,c='blue',alpha=0.5)#绘制最低温折线
ax.fill_between(Birmingham_dates,Birmingham_highs,Birmingham_lows,facecolor='yellow',alpha=0.1)#填充中间区域ax.set_title('2016年-2017年Birmingham最高最低温度变化曲线',fontsize=24)
ax.set_xlabel('',fontsize=14)
fig.autofmt_xdate()#绘制倾斜的日期标签
ax.set_ylabel('温度(F)',fontsize=14)
ax.tick_params(axis='both',which='major',labelsize=14)plt.savefig('Birmingham_temperature.png',bbox_inches='tight')#将绘制的图形保存为文件plt.show()

运行结果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/281096.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:网络的初步认知

文章目录 网络的认知如何理解协议网络分层OSI模型TCP/IP五层(或四层)模型网络传输的基本流程协议的参与局域网通信原理 本篇将会引入到网络的话题 网络的认知 第一个问题是,网卡是文件吗?答案是显然的,在Linux下一切皆文件,基于…

【Linux】进程控制 -- 详解

一、进程创建 目前学习到的进程创建的两种方式: 命令行启动命令(程序、指令等) 。通过程序自身,调用 fork 函数创建出子进程。 1、fork 函数初识 在 Linux 中的系统接口 fork 函数是非常重要的函数,它从已存在进程中…

【Linux】深入了解Linux磁盘配额:限制用户磁盘空间的利器

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 前言 在多用户环境下管理磁盘空间是服务器管理中的一项重要任务。Linux提供了强大的磁盘配额功能,可以帮助管理员限制用户或组对文件系统…

一分钟了解自动化测试【建议收藏】

引子 写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够明白自动化测试并很好落地实施的团队还不是非常多,我们接来下用通俗的方式来介绍自动化测试…… 本文共有2410…

Zookeeper的ZAB协议原理详解

Zookeeper的ZAB协议原理详解 如何保证数据一致性。 Paxos, 吸收了主从。 zk 数据模型Watch机制 zab zookeeper原子广播协议。 ZAB概念 ZooKeeper是通过Zab协议来保证分布式事务的最终一致性。 Zab(ZooKeeper Atomic Broadcast,.ZooKeeper原子广播协议)支持…

企业员工上班摸鱼行为老板怎么管?

在数字化时代,员工摸鱼现象成为企业普遍面临的挑战。摸鱼不仅会降低工作效率,影响企业的正常运营,还可能引发数据泄露等安全问题。因此,企业需要采取有效的措施来防止员工上班摸鱼。 来百度APP畅享高清图片 一、制定明确的规章制…

NBlog Java定时任务-备份MySQL数据

NBlog部署维护流程记录(持续更新):https://blog.csdn.net/qq_43349112/article/details/136129806 为了避免服务器被攻击,给博客添加了一个MySQL数据备份功能。 此功能是配合博客写的,有些方法直接用的已有的&#xf…

【LAMMPS学习】三、构建LAMMPS(7)具有额外构建选项的软件包

3. 构建 LAMMPS 3.7.具有额外构建选项的软件包 当使用某些包进行构建时,除了Build_package页面上描述的步骤之外,可能还需要额外的步骤。 ​ 对于CMake构建,可能有额外的可选或必需的变量要设置。对于使用make进行构建,可能需…

Linux课程____进程管理

记录工作日志 script 240319.log CTRLd 退出 cat 240319.log //查看 一、查看进程 1.静态 ps -aux 显示所有包含其他使用者的行程 ps -elf 2.动态 top 3.pgrep 查看特定条件的进程 pgrep -l “log” 搜索特定的程序 pgrep -l "ssh" pgrep -l -U…

docker的常用命令

文章目录 Docker安装镜像管理列出镜像命令解析功能输出信息示例用途 拉取镜像构建镜像查找镜像删除镜像清理无用镜像 容器管理运行容器命令解析运行容器可选参数示例 列出容器列出所有容器(包括停止的)停止容器启动容器进入容器删除容器清理无用容器 容器…

高精度铸铁平台制造工艺有多精细——河北北重机械

高精度铸铁平台制造工艺通常包括以下几个步骤: 材料准备:选择合适的铸铁材料,并确保其质量符合要求。常用的铸铁材料包括灰铸铁、球墨铸铁等。 模具制造:根据平台的设计要求,制造适用的模具。模具一般由砂型、金属模具…

递归算法总结

递归算法总结 1、粗解递归算法2、递归算法例题(不包含其他算法,纯递归)eg1:LC509 fibonacci数列(简单)(0)题目描述(1)思路分析(2)pyth…

图论中的最小生成树:Kruskal与Prim算法深入解析

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:アンビバレント—Uru 0:24━━━━━━️💟──────── 4:02 🔄 ◀️ ⏸ ▶️ ☰ …

Prometheus+Grafana 监控Tongweb7(by lqw)

文章目录 1.准备工作2.Tongweb7部署3.Prometheus部署4.上传jar包并配置Tongweb75.Prometheus配置6.安装和配置Grafana 1.准备工作 本次参考:Prometheus监控Tongweb容器 1.使用虚拟机ip:192.168.10.51(tongweb),192.1…

vue iframe实现父页面实时调用子页面方法和内容

父页面标签添加鼠标按下事件 父页方法中建立iframe通信 实时调用子页面方法 实时更改子页面文本内容

Ubuntu上搭建TFTP服务

Ubuntu上搭建TFTP服务 TFTP服务简介搭建TFTP服务安装TFTP服务修改配置文件 重启服务 TFTP服务简介 TFTP是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适用于开销不大、不复杂的应用场合。TFTP协议专门为小文件传输而设计,只…

[C语言]——操作符详解

目录 一.操作符的分类 二.二进制和进制转换 1.二进制转十进制 2.二进制转八进制和十六进制 2.1二进制转八进制 2.2二进制转十六进制 三.原码、反码、补码 四.移位操作符 1.左移操作符 2.右移操作符 五.位操作符:&、|、^、~ 练习1:编写代码实…

腾讯云GPU云服务器简介_GPU服务器购买指南_GPU云服务器操作

腾讯云GPU服务器是提供GPU算力的弹性计算服务,腾讯云GPU服务器具有超强的并行计算能力,可用于深度学习训练、科学计算、图形图像处理、视频编解码等场景,腾讯云百科txybk.com整理腾讯云GPU服务器租用价格表、GPU实例优势、GPU解决方案、GPU软…

Spring Boot Actuator介绍

大家在yaml中经常见到的这个配置 management: endpoints: web: exposure: #该配置线上需要去掉,会有未授权访问漏洞 include: "*" 他就是Actuator! 一、什么是 Actuator Spring Boot Actuator 模块提供了生产级别…

漏洞挖掘技术综述与人工智能应用探索:从静态分析到深度学习,跨项目挑战与未来机遇

在网络安全和软件工程领域中,将机器学习应用于源代码漏洞挖掘是一种先进的自动化方法。该过程遵循典型的监督学习框架,并可细化为以下几个关键步骤: 数据预处理: 源代码解析与清理:首先对源代码进行文本解析&#xff…