首页 > 其他分享 >下载数据(matplotlib可视化16章-1)

下载数据(matplotlib可视化16章-1)

时间:2022-11-20 11:35:41浏览次数:42  
标签:dates plt 16 highs matplotlib high 可视化 reader row

1、从CSV文件中提取数据

import csv

import matplotlib.pyplot as plt

filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader)

    #  #打印头文件
    # print(header_row)
    #
    # #打印头文件及其位置
    # for index, column_header in enumerate(header_row):
    #     print(index, column_header)

    #提取最高气温
    highs = []
    for row in reader:
        high = int(row[1])
        highs.append(high)
    print(highs)


    fig = plt.figure(dpi=128,figsize=(10,6))
    plt.plot(highs, c='red')

    plt.title("Daily high temperatures, July 2014", fontsize=24)
    plt.xlabel("Date",fontsize=16)
    plt.ylabel("T",fontsize=16)
    plt.tick_params(axis="both",which='major',labelsize=16)
    plt.show()

 

2、datetime模块

 

import csv
import matplotlib.pyplot as plt
from datetime import datetime

filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader)

    #提取最高气温和日期
    highs = []
    dates = []
    for row in reader:
        high = int(row[1])
        highs.append(high)
        date =datetime.strptime(row[0], "%Y-%m-%d")
        dates.append(date)
    # print(dates)

    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=16)
    fig.autofmt_xdate()
    plt.ylabel("T",fontsize=16)
    plt.tick_params(axis="both",which='major',labelsize=16)
    plt.show()

 

 

 

 

 

 3、错误处理

当文件中缺少一些数据时,使用异常处理来解决问题。

import csv
from datetime import datetime

import matplotlib.pyplot as plt

filename='death_valley_2014.csv'

with open(filename) as f:
    reader = csv.reader(f)
    header = next(reader)

    highs = []
    lows =[]
    dates = []

    for row in reader:
        try:
            date = datetime.strptime(row[0],"%Y-%m-%d")
            high = int(row[1])
            low = int(row[3])
        except ValueError:
            print(date, 'missing data')
        else:
            highs.append(high)
            lows.append(low)
            dates.append(date)

    plt.plot(dates,highs,c='red',alpha=0.5)
    plt.plot(dates,lows,c='blue',alpha=0.5)
    plt.fill_between(dates,highs,lows,alpha=0.2)
    plt.title("Daily high and low temperatures")
    

    plt.show()

 

 

 

标签:dates,plt,16,highs,matplotlib,high,可视化,reader,row
From: https://www.cnblogs.com/buffaloes/p/16906259.html

相关文章

  • 篇(16)-Asp.Net Core入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证
    入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证二)(1).在用户管理着模块中,相比较菜单功能的代码还是比较多的,设计到用户的创建,修改,角色变更和密码重置,同时......
  • c 二进制,8进制,16进制表示数值说明
     一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊......
  • 还在手撸TCP/UDP/COM通信?一个仅16K的库搞定!
    摘要在一些项目中,可能会用到串口(COM)通信,也可能会使用TCP-Server,TCP-Client,UDP等等,这种实现起来都大差不差,所以我封装了一个无任何依赖小而美的通信框架,通用性强,安全稳......
  • python 安装Basemap 以及cannot import name ‘dedent’ from ‘matplotlib.cbook’问
    我用的是anaconda管理工具,运行安装condainstallbasemap或者直接在anaconda,navigator中搜索basemap,进行安装  问题:cannotimportname‘dedent’from‘matplot......
  • 「CF1677F」Tokitsukaze and Gems
    题目点这里看题目。给定一个长度为\(n\)的正整数序列\(\{a_i\}_{i=1}^n\)和参数\(k,p\)。对于两个长度为\(n\)的序列\(\{s_i\}_{i=1}^n,\{t_i\}_{i=1}^n\),我们......
  • Navicat Premium16安装及注册教程
    NavicatPremium是一套数据库开发工具,让你从单一应用程序中同时连接MySQL、MariaDB、MongoDB、SQLServer、Oracle、PostgreSQL和SQLite数据库。它与AmazonRDS、Ama......
  • open3d点云可视化
    【Open3D】点云可视化-知乎(zhihu.com)1.Open3D的安装Open3D的安装比较简单,进入官网按照自己的需求直接下载合适自己的版本就可以了。这里放一波Open3d的官网链接:AM......
  • centos 7.9 静默安装oracle 19.16
    文档课题:centos7.9静默安装oracle19.161、安装准备1.1、系统版本[root@liujun~]#cat/etc/*releaseCentOSLinuxrelease7.9.2009(Core)NAME="CentOSLinux"VERSION=......
  • Day16:冒泡排序详解
    冒泡排序冒泡循环有两层循环,第一层控制循环轮数,第二层循环代表元素比较的次数。利用冒泡排序获得升序或者降序的数组//利用冒泡排序将一个数组进行降序排序//思路://冒......
  • java: 错误: 无效的源发行版:16 - 解决方案
    在使用idea时遇到java:错误:无效的源发行版:16解决方案将语言级别由16改为8即可......