Python 解析CSV文件 使用Matplotlib绘图

news2024/9/11 9:58:24

数据存储在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 datetime

filename = '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.coloradmin.cn/o/1533559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Pt】新建项目时的设置

新建项目时需要在如下界面做一些设置。 一、模板与文件 模板通常选择“PBR - Metallic Roughness Alpha-blend” 文件可以选择fbx,abc,obj等格式的三维模型文件 二、项目设置 2.1 文件分辨率 指的是在软件中的预览效果,分辨率越高预览效果…

链动3+1模式 全新升级 解决小号和断代问题!!!

随着数字经济的蓬勃发展,市场竞争愈演愈烈,传统的商业模式显得捉襟见肘,难以满足企业快速发展的需求。在这种背景下,一种创新的商业模式——“链动31”应运而生,以其独特的玩法和优势,引领着市场发展的新方…

HEVC的编码结构

编码单元划分 CTU/CTB CTU(Coding Tree Unit)和CU组成了一个四叉树的层级结构,CTU的尺寸为64 x 64,32 x 32,16 x 16,一个CTU可以分为一个或四个CTU,对标H264的MB。 CU/CB CU/CB(Coding Unit/Coding Block),CU为亮度和色度编码单元的统称,CB特指某一个分量的的编码…

网络编程:数据库

一、作业 1> 创建一个工人信息库,包含工号(主键)、姓名、年龄、薪资。 2> 添加三条工人信息(可以完整信息,也可以非完整信息) 3> 修改某一个工人的薪资(确定的一个) 4> …

帅帅密码管理系统使用教程

在这个账号满天飞的大环境,密码太多,又容易遗忘,又不方便管理,存在记事本上,又担心泄漏。帅帅密码管理系统就是帮助你解决以上烦恼,用来帮助个人或团队管理众多的登陆密码,能够快速的查询、新增…

布隆过滤器原理介绍和典型应用案例

整理自己过去使用布隆过滤器的应用案例和理解 基本介绍 1970年由布隆提出的一种空间效率很高的概率型数据结构,它可以用于检索一个元素是否在一个集合中,由只存0或1的位数组和多个hash算法, 进行判断数据 【一定不存在或者可能存在的算法】 如果这些…

广告创意的魔力:争议与诱惑并存

《广告创意的魔力:争议与诱惑并存》 一、广告的创意魅力之源 广告创意是广告行业的灵魂,它决定着广告能否在浩瀚的信息海洋中脱颖而出,抓住受众的注意力。优秀的广告创意往往能够打破常规,用新颖、独特、有趣的手法表达广告主题…

D55125ADA A型漏电保护芯片,适用于 110V⁓220V(50/60Hz)电压,可应用于 新能源充电桩(充电枪)、智能空开(智能微断开关)等工业产品

一、应用领域 新能源充电桩(充电枪)、智能空开(智能微断开关)等工业产品,以及电热水器、电烤箱、电烤炉等小家电产品。 二、功能介绍 D55125ADA 是一款高性能 CMOS 漏电保护器专用电路。芯片内部包含稳压电源、放大电路…

C是用什么语言写出来的?

C是用什么语言写出来的? C语言的起源和发展是一个迭代过程: 1. 最初的C语言编译器的开发始于对B语言的改进。B语言是由Ken Thompson设计的,它是基于BCPL语言简化而来的。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「 C语言的…

文件IO(代码案例: 文件复制, 指定目录查找文件, 指定目录查找内容)

文件复制 进行普通文件的复制 使用操作字节流的对象操作文件 // 文件复制 public class Main {public static void main(String[] args) throws IOException {// 输入两个路径, 源路径, 目的路径Scanner scanner new Scanner(System.in);System.out.println("请输入拷贝文…

鸿蒙Harmony应用开发—ArkTS-高级组件:@ohos.arkui.advanced.Chip(操作块组件)

操作块,用于搜索框历史记录或者邮件发送列表等场景。 说明: 该组件从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 Chip Chip({options:ChipOptions}) 装饰器类型:Builde…

springboot网站开发-诡异的static/images读取故障

springboot网站开发-诡异的static/images读取故障!我在本地环境测试代码,一切正常。可以读取到该路径下的图片模板,正常生成图片存储在本地D盘下面的文件夹。但是改成服务器linux环境后就不行了。打包发布后,死活读取不到图片模板。 这个故障…

JavaScript高级(十三)---ES6中Set,map

ES6 Set 在ES6之前,我们存储数据的结构主要有两种:数组、对象。 在ES6中新增了另外两种数据结构:Set、Map,以及它们的另外形式WeakSet、WeakMap。 Set是一个新增的数据结构,可以用来保存数据,类似于数组&a…

python家政服务系统flask-django-php-nodejs

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低家政公司的运营人员成本,实现了家政服务的标准化、制度化、程序化的管理,有效地防止了家政服务的随意管理,提高了信息的处理速度和精确度,能够及时、准确地…

TDP1000泰克TDP1000差分探头

181/2461/8938产品概述: 高速串行标准中使用的差分信令要求非常精确的检测。泰克差分探头能够提供业界领先的带宽和信号保真度,可确保您能洞察每一个细节。我们的 TriMode™ 架构 使您可以从一个DUT连接点上完成差分、单端和共模测量,进而简…

C语言经典算法-5

文章目录 其他经典例题跳转链接26.约瑟夫问题(Josephus Problem)27.排列组合28.格雷码(Gray Code)29.产生可能的集合30.m元素集合的n个元素子集 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. …

JMeter如何监控服务器资源?

jmeter是一个基于Java的开源性能测试工具,它可以用来测试静态和动态的资源,例如Web应用、数据库、FTP服务器等。如果要在进行压力测试的同时,监控服务器的CPU、内存、磁盘、网络等资源的使用情况,需要使用一些插件或工具来实现。 …

【STL基础】vector、stack、queue、list、pair、map、unordered_map、set、unordered_set(详细讲解)

vector、list、pair、unordered_map、unordered_set、stack、queue 参考文章: (1)【apollo】泛型编程 与 STL (2)c stack用法 入门必看 超详细 (3)C中queue的用法(超详细&#xff0c…

使用 SCL 给 Centos7.6 升级 GCC 版本

使用 SCL 给 Centos7.6 升级 GCC 版本 什么是 SCL背景安装 SCL安装工具集启用环境devtoolset 与 gcc 版本对应参考文献 什么是 SCL SCL 软件集是为了给 RHEL / CentOS 用户提供一种方便、安全的安装和使用应用程序和运行时环境的多个(而且可能是更新的)…

最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载

最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 梨花带雨播放器基于thinkphp6开发的XPlayerHTML5网页播放器前台控制面板,支持多音乐平台音乐解析。二开内容:修复播放器接口问题,把接口本地化,但是集成外链播放器接口就不本地化了,我花钱找人写的理解下…