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)站,禁止在非maisonbaluchon.cn所屬的服務(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處理。
關(guān)注官方微信