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