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)容!
- Python數(shù)據(jù)可視化教程之Matplotlib實(shí)現(xiàn)各種圖表實(shí)例
- python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖
- Python利用matplotlib模塊數(shù)據(jù)可視化繪制3D圖
- Python數(shù)據(jù)可視化之使用matplotlib繪制簡(jiǎn)單圖表
- Python數(shù)據(jù)分析應(yīng)用之Matplotlib數(shù)據(jù)可視化詳情
- python數(shù)據(jù)可視化matplotlib繪制折線圖示例
- Python數(shù)據(jù)分析之Matplotlib數(shù)據(jù)可視化
相關(guān)文章
日常整理python執(zhí)行系統(tǒng)命令的常見(jiàn)方法(全)
本文是小編日常整理的些關(guān)于python執(zhí)行系統(tǒng)命令常見(jiàn)的方法,比較全面,特此通過(guò)腳本之家這個(gè)平臺(tái)把此篇文章分享給大家供大家參考2015-10-10
Python實(shí)現(xiàn)詞云圖詞頻統(tǒng)計(jì)
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)分析中的詞頻統(tǒng)計(jì)和詞云圖可視化,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-12-12
Python之numpy.random.seed()和numpy.random.RandomState()區(qū)別及說(shuō)明
這篇文章主要介紹了Python之numpy.random.seed()和numpy.random.RandomState()區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2017-10-10
分析語(yǔ)音數(shù)據(jù)增強(qiáng)及python實(shí)現(xiàn)
數(shù)據(jù)增強(qiáng)是一種生成合成數(shù)據(jù)的方法,即通過(guò)調(diào)整原始樣本來(lái)創(chuàng)建新樣本。這樣我們就可獲得大量的數(shù)據(jù)。這不僅增加了數(shù)據(jù)集的大小,還提供了單個(gè)樣本的多個(gè)變體,這有助于我們的機(jī)器學(xué)習(xí)模型避免過(guò)度擬合2021-06-06
用python實(shí)現(xiàn)九九乘法表實(shí)例
大家好,本篇文章主要講的是用python實(shí)現(xiàn)九九乘法表實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
Python腳本實(shí)現(xiàn)抓取指定網(wǎng)站上的所有圖片
對(duì)于開(kāi)發(fā)者、數(shù)據(jù)分析師以及研究人員而言,從網(wǎng)頁(yè)中提取有價(jià)值的信息是一項(xiàng)至關(guān)重要的技能,本文將詳細(xì)介紹如何使用Python編寫一個(gè)腳本來(lái)自動(dòng)抓取指定網(wǎng)站上的所有圖片,需要的可以參考下2024-10-10
Django模板報(bào)TemplateDoesNotExist異常(親測(cè)可行)
這篇文章主要介紹了Django模板報(bào)TemplateDoesNotExist異常(親測(cè)可行),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

