Python 數(shù)據(jù)可視化之Matplotlib詳解
在深入研究這些庫(kù)之前,首先,我們需要一個(gè)數(shù)據(jù)庫(kù)來(lái)繪制數(shù)據(jù)。我們將在本完整教程中使用 tips database。讓我們討論一下這個(gè)數(shù)據(jù)庫(kù)的簡(jiǎn)介。
使用的數(shù)據(jù)庫(kù)
tips 數(shù)據(jù)庫(kù)
tips 數(shù)據(jù)庫(kù)是20世紀(jì)90年代初期顧客在餐廳的兩個(gè)半月的小費(fèi)記錄。它包含 6 列,例如 total_bill、tip、sex、smoker、day、time、size。
您可以從這里下載 tips 數(shù)據(jù)庫(kù)。
例子:
import pandas as pd # 讀取數(shù)據(jù)庫(kù) data = pd.read_csv("tips.csv") # 打印前 10 行 print(data.head(10))
輸出:
Matplotlib
Matplotlib 是一個(gè)易于使用的低級(jí)數(shù)據(jù)可視化庫(kù),它構(gòu)建在 NumPy 數(shù)組上。它由散點(diǎn)圖、線圖、直方圖等各種圖組成。 Matplotlib 提供了很大的靈活性。
要安裝此庫(kù),請(qǐng)?jiān)诮K端中輸入以下命令。
pip install matplotlib
安裝 Matplotlib 后,讓我們看看使用這個(gè)庫(kù)最常用的繪圖。
散點(diǎn)圖
散點(diǎn)圖用于觀察變量之間的關(guān)系,并用點(diǎn)來(lái)表示它們之間的關(guān)系。matplotlib 庫(kù)中的scatter()方法用于繪制散點(diǎn)圖。
例子:
import pandas as pd import matplotlib.pyplot as plt # 讀取數(shù)據(jù)庫(kù) data = pd.read_csv("tips.csv") # day 對(duì) tip 的散點(diǎn)圖 plt.scatter(data['day'], data['tip']) # 為 Plot 添加標(biāo)題 plt.title("Scatter Plot") # 設(shè)置 X 和 Y 標(biāo)簽 plt.xlabel('Day') plt.ylabel('Tip') plt.show()
輸出:
如果我們可以添加顏色并更改點(diǎn)的大小,則此圖會(huì)更有意義。我們可以通過(guò)分別使用 scatter 函數(shù)的c 和 s參數(shù)來(lái)做到這一點(diǎn)。我們還可以使用colorbar()方法顯示顏色條。
import pandas as pd import matplotlib.pyplot as plt # 讀取數(shù)據(jù)庫(kù) data = pd.read_csv("tips.csv") # day對(duì)tip的散點(diǎn)圖 plt.scatter(data['day'], data['tip'], c=data['size'], s=data['total_bill']) # 為Plot添加標(biāo)題 plt.title("Scatter Plot") # 設(shè)置 X 和 Y 標(biāo)簽 plt.xlabel('Day') plt.ylabel('Tip') plt.colorbar() plt.show()
折線圖
折線圖用于表示不同軸上兩個(gè)數(shù)據(jù) X 和 Y 之間的關(guān)系。它是使用plot() 函數(shù)繪制的。讓我們看看下面的例子。
例子:
import pandas as pd import matplotlib.pyplot as plt # 讀取數(shù)據(jù)庫(kù) data = pd.read_csv("tips.csv") # day對(duì)tip的折線圖 plt.plot(data['tip']) plt.plot(data['size']) # 為Plot添加標(biāo)題 plt.title("Scatter Plot") # 設(shè)置 X 和 Y 標(biāo)簽 plt.xlabel('Day') plt.ylabel('Tip') plt.show()
輸出:
條形圖
柱狀圖或叫條形圖是表示與長(zhǎng)度和高度的矩形條數(shù)據(jù)的類別是正比于它們所代表的值的圖。它可以使用bar()方法創(chuàng)建。
例子:
import pandas as pd import matplotlib.pyplot as plt # 讀取數(shù)據(jù)庫(kù) data = pd.read_csv("tips.csv") # day對(duì)tip的條形圖 plt.bar(data['day'], data['tip']) plt.title("Bar Chart") # 設(shè)置 X 和 Y 標(biāo)簽 plt.xlabel('Day') plt.ylabel('Tip') # 添加圖例 plt.show()
輸出:
直方圖
直方圖基本上是用來(lái)在一些基團(tuán)的形式來(lái)表示數(shù)據(jù)。它是一種條形圖,其中 X 軸表示 bin 范圍,而 Y 軸提供有關(guān)頻率的信息。的HIST()函數(shù)用于計(jì)算和創(chuàng)建直方圖。在直方圖中,如果我們傳遞分類數(shù)據(jù),那么它將自動(dòng)計(jì)算該數(shù)據(jù)的頻率,即每個(gè)值出現(xiàn)的頻率。
例子:
import pandas as pd import matplotlib.pyplot as plt # 讀取數(shù)據(jù)庫(kù) data = pd.read_csv("tips.csv") # total_bill直方圖 plt.hist(data['total_bill']) plt.title("Histogram") # 添加圖例 plt.show()
輸出:
以上是關(guān)于 Matplotlib 使用 Python 進(jìn)行數(shù)據(jù)可視化的全部示例,下一節(jié)我們來(lái)談?wù)?Seaborn
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。