python数据可视化-CSV文件格式

'''
要在文本文件中存储数据,最简单的方式是将数据作为一系列以逗号分隔的值(CSV)写入文件
数据来源:sitka_weather_07-2014.csv
'''

分析csv文件头

import csv
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
    reader = csv.reader(f)#打开文件,并存储在列表中
    header_row = next(reader)#返回文件的下一行
    print(header_row)
['AKDT', 'Max TemperatureF', 'Mean TemperatureF', 'Min TemperatureF', 'Max Dew PointF', 'MeanDew PointF', 'Min DewpointF', 'Max Humidity', ' Mean Humidity', ' Min Humidity', ' Max Sea Level PressureIn', ' Mean Sea Level PressureIn', ' Min Sea Level PressureIn', ' Max VisibilityMiles', ' Mean VisibilityMiles', ' Min VisibilityMiles', ' Max Wind SpeedMPH', ' Mean Wind SpeedMPH', ' Max Gust SpeedMPH', 'PrecipitationIn', ' CloudCover', ' Events', ' WindDirDegrees']

打印文件头及其位置

    for index,column_header in enumerate(header_row):#enumerate获取每个元素的索引及值
        print(index,column_header)
 0 AKDT
1 Max TemperatureF
2 Mean TemperatureF
3 Min TemperatureF
4 Max Dew PointF
5 MeanDew PointF
6 Min DewpointF
7 Max Humidity
8  Mean Humidity
9  Min Humidity
10  Max Sea Level PressureIn
11  Mean Sea Level PressureIn
12  Min Sea Level PressureIn
13  Max VisibilityMiles
14  Mean VisibilityMiles
15  Min VisibilityMiles
16  Max Wind SpeedMPH
17  Mean Wind SpeedMPH
18  Max Gust SpeedMPH
19 PrecipitationIn
20  CloudCover
21  Events
22  WindDirDegrees

提取并读取数据并绘制气温图表

#读取每天的最高气温

    highs = []
    for row in reader:
        #使用int将字符串转为数字,让matplotlib能够读取
        high = int(row[1])
        highs.append(high)
    
    print(highs)
    [64, 71, 64, 59, 69, 62, 61, 55, 57, 61, 57, 59, 57, 61, 64, 61, 59, 63, 60, 57, 69, 63, 62, 59, 57, 57, 61, 59, 61, 61, 66]
 #绘制气温图表
    import matplotlib.pyplot as plt
    fig = plt.figure(dpi = 128, figsize = (10,6))
    plt.plot(highs, c = 'red')
    plt.title('daily high temperates, july 2014',fontsize = 24)
    plt.xlabel('', fontsize = 16)
    plt.xlabel('temperates', fontsize = 16)
    plt.tick_params(axis = 'both', which = 'major', labelsize = 16)
    
    plt.show()
python数据可视化--CSV文件格式

image.png

在图表中添加日期

import csv
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):#enumerate获取每个元素的索引及值
        print(index,column_header)
 

###提取并读取数据
#读取每天的最高气温,以及读取图表中日期
    from datetime import datetime

    dates, highs = [],[]
    
    
    for row in reader:
        #使用int将字符串转为数字,让matplotlib能够读取
        high = int(row[1])
        highs.append(high)
        
        date = datetime.strptime(row[0], "%Y-%m-%d")
        dates.append(date) 
    
    print(highs)
    
    
    #绘制气温图表
    import matplotlib.pyplot as plt
    fig = plt.figure(dpi = 128, figsize = (10,6))
    plt.plot(dates, highs, c = 'red')
    plt.title('daily high temperates, july 2014',fontsize = 24)
    plt.xlabel('', fontsize = 16)
    fig.autofmt_xdate()#绘制斜的日期标签
    plt.ylabel('temperates', fontsize = 16)
    plt.tick_params(axis = 'both', which = 'major', labelsize = 16)
    
    plt.show()
python数据可视化--CSV文件格式

image.png

再绘制一个数据,给图表区域着色

import csv
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
    reader = csv.reader(f)#打开文件,并存储在列表中
    header_row = next(reader)#返回文件的下一行
    

 

###提取并读取数据
#读取每天的最高气温,以及读取图表中日期
    from datetime import datetime

    dates, highs, lows = [],[],[]
    
    
    for row in reader:
        #使用int将字符串转为数字,让matplotlib能够读取
        high = int(row[1])
        highs.append(high)
        
        low = int(row[3])
        lows.append(low)
        
        date = datetime.strptime(row[0], "%Y-%m-%d")
        dates.append(date) 
    
    
    
    
    #绘制气温图表
    import matplotlib.pyplot as plt
    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.title('daily high temperates, july 2014',fontsize = 24)
    plt.xlabel('', fontsize = 16)
    fig.autofmt_xdate()#绘制斜的日期标签
    plt.ylabel('temperates', fontsize = 16)
    plt.fill_between(dates, highs, lows, facecolor = 'blue', alpha = 0.1)#fill_between填充颜色
    plt.tick_params(axis = 'both', which = 'major', labelsize = 16)
    
    plt.show()
python数据可视化--CSV文件格式

展开阅读全文

页面更新:2024-04-30

标签:数据   文件格式   字符串   图表   气温   索引   元素   位置   日期   数字   文件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top