您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Python中怎么實現可視化操作,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Python提供了csv模塊來讀寫csv文件。由于csv文件的格式本身比較簡單(通常第一行是表頭,用于說明每列數據的含義,接下來每行代表一行數據),因此使用csv模塊讀取csv 文件也非常簡單:
創建 csv 模塊的讀取器。
循環調用 csv 讀取器的 next() 方法逐行讀取 csv 文件內容即可。next() 方法返回一個 list 列表代表一行數據,list 列表的每個元素代表一個單元格數據。
本節使用的是 2017 年廣州天氣數據的csv文件(數據來源于 http://lishi.tianqi.com/ 網站。下面程序示范了使用csv讀取器來讀取csv文件的兩行內容。
import csvfilename = 'guangzhou-2017.csv'# 打開文件with open(filename) as f: # 創建cvs文件讀取器 reader = csv.reader(f) # 讀取第一行,這行是表頭數據。 header_row = next(reader) print(header_row) # 讀取第二行,這行是真正的數據。 first_row = next(reader) print(first_row)
上面程序中第7行代碼創建了CSV讀取器,第9行、第12行代碼各讀取文件的一行,其中第 7 行代碼會返回 csv 文件的表頭數據;第 9 行代碼會返回真正的數據。運行上面程序,可以看到如下輸出結果:
['Date', 'Max TemperatureC', 'Min TemperatureC', 'Description', 'WindDir', 'WindForce']['2017-1-1', '24', '13', '晴', '西南風', '1級']
從上面的輸出結果可以看到,該文件的每行包含 6 個數據,分別是日期、最高溫度、最低溫度、天氣情況、風向、風力。
掌握了csv讀取器的用法之后,下面程序將會使用Matplotlib來進行可視化展示2017年7月廣州的最高氣溫和最低氣溫,代碼中的可視化部分值得關注!
import csvfrom datetime import datetimefrom matplotlib import pyplot as pltfilename = 'guangzhou-2017.csv'# 打開文件with open(filename) as f: # 創建cvs文件讀取器 reader = csv.reader(f) # 讀取第一行,這行是表頭數據。 header_row = next(reader) print(header_row) # 定義讀取起始日期 start_date = datetime(2017, 6, 30) # 定義結束日期 end_date = datetime(2017, 8, 1) # 定義3個list列表作為展示的數據 dates, highs, lows = [], [], [] for row in reader: # 將第一列的值格式化為日期 d = datetime.strptime(row[0], '%Y-%m-%d') # 只展示2017年7月的數據 if start_date < d < end_date: dates.append(d) highs.append(int(row[1])) lows.append(int(row[2]))# 配置圖形fig = plt.figure(dpi=128, figsize=(12, 9))# 繪制最高氣溫的折線plt.plot(dates, highs, c='red', label='最高氣溫', alpha=0.5, linewidth = 2.0, linestyle = '-', marker='v')# 再繪制一條折線plt.plot(dates, lows, c='blue', label='最低氣溫', alpha=0.5, linewidth = 3.0, linestyle = '-.', marker='o')# 為兩個數據的繪圖區域填充顏色plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1)# 設置標題plt.title("廣州2017年7月最高氣溫和最低氣溫")# 為兩條坐標軸設置名稱plt.xlabel("日期")# 該方法繪制斜著的日期標簽fig.autofmt_xdate()plt.ylabel("氣溫(℃)")# 顯示圖例plt.legend()ax = plt.gca()# 設置右邊坐標軸線的顏色(設置為none表示不顯示)ax.spines['right'].set_color('none')# 設置頂部坐標軸線的顏色(設置為none表示不顯示)ax.spines['top'].set_color('none')plt.show()
上面程序的前半部分代碼用于從 csv 文件中讀取 2017 年 7 月廣州的氣溫數據,程序分別使用了 dates、highs 和 lows 三個 list 列表來保存日期、最高氣溫、最低氣溫。
程序的后半部分代碼繪制了兩條折線來顯示最高氣溫和最低氣溫,其中第 31 行代碼用于繪制最高氣溫,第 34 行代碼用于繪制最低氣溫;第 37 行代碼控制在兩條折線之間填充顏色。程序也對坐標軸、圖例進行了簡單的設置。運行上面程序,可以看到如圖 1 所示的折線圖。
以上就是Python中怎么實現可視化操作,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。