数据可视化:读取csv文件绘制图表

2023-11-06

怎样去读取csv文件: 

 


 

怎样去读每一行的某一列:

#提取并读取数据 读取每天的最高气温
import csv

filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
    reader =csv.reader(f)  #按行读取csv文件中的数据
    header_row = next(reader)   #返回文件下一行,这里即第一行
    
    highs = []
    for row in reader:
        highs.append(int(row[1]))    #最高气温的索引为1,为方便绘表用int将字符串转化为数字
    print(highs)


 

从文件中获取日期,最高气温和最低气温绘制图表:

import csv
from datetime import datetime

from matplotlib import pyplot as plt

#从文件中获取日期和最高气温
filename = 'death_valley_2014.csv'
with open(filename) as f:
    reader =csv.reader(f)  #按行读取csv文件中的数据
    header_row = next(reader)   #返回文件下一行,这里即第一行
    
    dates,highs,lows = [],[],[]
    for row in reader:
        try:        #防止出现空字符串无法转换的情况,异常处理
            current_date = datetime.strptime(row[0], "%Y-%m-%d")
            high = int(row[1])
            low = int(row[3])
        except ValueError:
            print(current_date, 'missing data')
        else:
            dates.append(current_date)
            highs.append(int(row[1]))   #最高气温的索引为1,为方便绘表用int将字符串转化为数字
            lows.append(int(row[3]))
            print(highs)
    
#根据数据绘制图形
fig = plt.figure(dpi=128,figsize=(10,6))   #dpi分辨率,figsize窗口尺寸,jupyter好像没区别
plt.plot(dates,highs,c='red',alpha=0.5)     #alpha不透明度,0-1
plt.plot(dates,lows,c='blue',alpha=0.5)
#给图表区域着色
plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.1)
#设置图形的格式
plt.title("Daily high and low temperatures - 2014\nDeath Valley, CA", fontsize=20)
plt.xlabel('', fontsize=16)
fig.autofmt_xdate()     #调用fig.autofmt_xdate()来绘制斜的的日期标签
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)

plt.show()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据可视化:读取csv文件绘制图表 的相关文章

随机推荐

  • 【颜值检测神器】来,请拿出你们的绝活(这颜值,对得起观众么?)

    前言 作者 程序员梨子 文章简介 本篇文章主要调用百度接口制作一款颜值检测小工具啦 文章源码获取 为了感谢每一个关注我的小可爱 每篇文章的项目源码都是无偿分 享滴 点这里蓝色这行字体自取 需要什么源码记得说标题名字哈 私信我也可 欢迎小伙伴
  • 9.全志H3-修改DDR的速度

    上面是我的微信和QQ群 欢迎新朋友的加入 前一篇文章 为了测试我自己画的板子 查了下关于uboot源码 降低DDR的速度 我使用的是友善之臂提供的源码 不多说其他的了 在源码里面 查找下图的文件 打开文件 修改图示内容就行 下面是启动的打印
  • 【java】兴唐第二十三节课作业

    已知如下 下表为某班级四次考试成绩单 要求使用HashMap
  • 万网域名如何设置显性url转发和隐性URL转发

    原文链接 http www enkj com idcnews Article 20161025 9580 URL转发技术就是将该域名的网站访问请求 通过浏览器端技术 转向到另外一个网站 如果跳转后 浏览器地址栏还是该域名 称为隐性URL转发
  • 眼底图像血管分割数据集_一个图像分割任务的Hello World项目(UNet+眼底血管分割)...

    庖丁解牛式的学习 才是真正的事半功倍 这是CVHub公众号的第七篇原创文章 也是 学术小白也能看懂的学术进阶专栏 计算机视觉方向 的第七篇文章 导读 在基于深度学习的医学影像分割任务中 基本在哪都能看到 U Net 的影子 这是一篇发表于
  • Protocbuf使用和安装

    Protocol buffers和mxl一样在序列化数据结构时很灵活 高效和智能 但是它的优势在于定义文件更小 读取速度更快 使用更加简单 目前protocol buffers支持C java和python三种语言并且独立于平台 linux
  • 了解硬盘的电路组成部分

    一 硬盘电路组成 硬盘电路板是将硬盘内部和电脑主板相互连接的中介 它将接口传送过来的电信号转换成磁信息记录到硬盘盘片上 写操作 反过来也可以将硬盘盘片上的磁信息转换成电信号传送到接口 读操作 硬盘电路板是裸露在外面的 因此也是比较容易出现故
  • Idea安装免注册版ChatGPT

    文章目录 一 前期准备 二 开始使用 一 前期准备 1 准备Idea开发软件并打开 VS Code同理 2 Ctrl Alt S 快捷键调出Settings窗口 如图 3 找到NexChatGPT 此插件不需要注册 可以直接使用 高级一些的
  • java中Synchronized和Lock的区别

    Synchronized和Lock的区别 原始构成 synchronized关键字属于JVM层面的 通过monitorenter monitorexit指令实现 底层是通过monitor对象来完成 其实wait notify等方法也依赖mo
  • Linux下安装QT4.3.2

    安装qt是因为我刚安装过mplayer想装个前端上网 一查 很多都推崇用smplayer 我也就下决心装上 刚开始一直都装不上 后来静心读了读Install文件才明白要装smplayer必须要有qt4 2或者更高版本 用rpm qa qt才
  • 短视频矩阵营销系统技术开发者开发笔记分享

    一 开发短视频seo抖音矩阵系统需要遵循以下步骤 1 确定系统需求 根据客户的需求 确定系统的功能和特点 例如用户注册登录 视频上传 视频浏览 评论点赞等 2 设计系统架构 根据系统需求 设计系统的整体架构 包括前端 后端 数据库等组件的功
  • 使用.NET构建登录网站

    摘要 本文将介绍如何使用 NET框架构建一个简单的登录网站 并附带每段代码的解释和讲解 帮助读者了解相关概念和功能 引言 在现代互联网应用中 登录系统是一个常见的功能模块 本文将使用 NET框架来创建一个简单的登录网站 演示如何进行用户认证
  • QT UDP简单的通信示例

    UDP user datagram protocol 即用户数据协议 是一个轻量级的 不可靠的 面向数据报的无连接协议 在qt中提供了QUdpSocket类来进行UDP数据报的发送和接收 在Pro中加入network模块 因为upd是无连接
  • 线性代数基础(变换)

    本文中的图片 公式等来自 GMAES101 在此向作者表达真挚的感谢 一 为什么要引入齐次坐标 平移变换不能用一个矩阵来表示 它不是线性变换 在缩放或者旋转等变换操作后 需要单独用一个向量来表示 这样表示起来就不方便了 根据以上约定 会有以
  • spring boot配置druid(德鲁伊)

    spring boot配置druid 德鲁伊 关于druid的介绍请看 阿里巴巴温少访谈 1 引入相关依赖 全部依赖是上一篇spring boot mybatis依赖的基础上 再加上下边的依赖 如下
  • [note] deep learning tensorflow lecture 1 notes 深度学习笔记 (1)

    1 logistic classifier model W X b Y where W is the Weights Vector X is input vector b is bias and Y is output Y the outp
  • Gamemaker studio2经验(2)——TCP联机

    问题概述 众所周知gamemaker是一款制作2d游戏的优秀引擎 但是落后的弱联网机制始终是一个坑 所幸在gms2中 yoyogames集团加入了TCP的联机机制 这也为gm系列引擎制作联网游戏带来了希冀 下面用一个最简单的 红蓝球游戏 作
  • spring boot打jar包和打war包的区别作用

    spring boot既可以打成war发布 也可以找成jar包发布 说一下区别 jar包 直接通过内置tomcat运行 不需要额外安装tomcat 如需修改内置tomcat的配置 只需要在spring boot的配置文件中配置 内置tomc
  • shell函数【参数传递及输入输出】&内置函数

    Linux shell脚本基础3 shell函数 参数传递及输入输出 内置函数 函数定义 1 退出状态 1 参数传递 2 标准IO 2 脚本调试 2 AND OR 3 内置命令补充 3 函数定义 函数定义 在Shell 中 函数就是一组命令
  • 数据可视化:读取csv文件绘制图表

    怎样去读取csv文件 怎样去读每一行的某一列 提取并读取数据 读取每天的最高气温 import csv filename sitka weather 07 2014 csv with open filename as f reader cs