使用matplotlib在Python中繪制數(shù)據(jù)的詳細教程
簡介
Python 在處理數(shù)據(jù)方面非常出色。通常,數(shù)據(jù)集·會包括多個變量和許多實例,這使得很難理解數(shù)據(jù)的情況。數(shù)據(jù)可視化是幫助您識別數(shù)據(jù)模式的一種有用方式。
例如,假設您是一名房地產(chǎn)經(jīng)紀人,您想要了解房屋的年齡與售價之間的關系。如果您的數(shù)據(jù)包括 5 棟房屋的數(shù)據(jù),那么理解情況就不會太困難。但是,假設您想要使用整個鎮(zhèn)上 500 棟房屋的數(shù)據(jù),那么理解年齡如何影響價格就會變得非常困難。通過繪制售價與年齡的關系,對數(shù)據(jù)進行可視化肯定會闡明這兩者之間的關系。
可視化是以一種通用方式快速傳達概念的方法,特別是對于那些不熟悉您數(shù)據(jù)的人。每當我們處理數(shù)據(jù)時,可視化通常是分析的必要部分。
我們將使用 2D 繪圖庫 matplotlib,最初由 John D. Hunter 編寫,自那以后已成為一個非?;钴S的開源開發(fā)社區(qū)項目。它允許您生成高質(zhì)量的折線圖、散點圖、直方圖、條形圖等。每個圖以不同的方式呈現(xiàn)數(shù)據(jù),通常在確定數(shù)據(jù)的最具信息量的圖之前,嘗試不同類型的圖表是很有用的。要記住,可視化是藝術和科學的結(jié)合。
鑒于可視化的重要性,本教程將描述如何使用 matplotlib 在 Python 中繪制數(shù)據(jù)。我們將介紹如何使用一小組數(shù)據(jù)生成散點圖,向圖表添加標題和圖例,并通過更改繪圖點的外觀來自定義圖表。
完成本教程后,您將能夠在 Python 中繪制數(shù)據(jù)!
先決條件
在進行本教程之前,您應該已經(jīng)安裝了 Python 3,并在計算機上設置了本地編程環(huán)境。如果不是這種情況,您可以按照適用于您操作系統(tǒng)的相應安裝和設置指南進行設置。
步驟 1 — 導入 matplotlib
在我們開始在 Python 中工作之前,讓我們再次檢查 matplotlib 模塊是否已安裝。在命令行中,通過運行以下命令檢查 matplotlib 是否已安裝:
python -c "import matplotlib"
如果 matplotlib 已安裝,此命令將順利完成,我們可以開始了。如果沒有安裝,您將收到錯誤消息:
Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'matplolib'
如果收到錯誤消息,請使用 pip 下載該庫:
pip install matplotlib
現(xiàn)在 matplotlib 已安裝,我們可以在 Python 中導入它。首先,讓我們創(chuàng)建我們將在本教程中使用的腳本:scatter.py
。然后,在我們的腳本中,讓我們導入 matplotlib。由于我們只會使用繪圖模塊(pyplot),因此在導入時讓我們指定它。
import matplotlib.pyplot as plt
我們通過在 matplotlib
末尾添加 .pyplot
來指定我們希望導入的模塊。為了在腳本中更容易地引用該模塊,我們將其縮寫為 plt
?,F(xiàn)在,我們可以繼續(xù)創(chuàng)建和繪制我們的數(shù)據(jù)。
步驟 2 — 創(chuàng)建要繪制的數(shù)據(jù)點
在我們的 Python 腳本中,讓我們創(chuàng)建一些要處理的數(shù)據(jù)。我們將使用 2D 數(shù)據(jù),因此我們將需要每個數(shù)據(jù)點的 X 和 Y 坐標。
為了更好地理解 matplotlib 的工作原理,我們將把我們的數(shù)據(jù)與可能的現(xiàn)實場景聯(lián)系起來。假設我們是一家咖啡店的老板,我們對一年中的平均天氣和冰咖啡的總銷量之間的關系感興趣。我們的 X 變量將是每月銷售的冰咖啡總數(shù),我們的 Y 變量將是每個月的華氏平均溫度。
在我們的 Python 腳本中,我們將創(chuàng)建兩個列表變量:X
(冰咖啡總銷量)和 Y
(平均溫度)。我們各自列表中的每個項目將代表每個月的數(shù)據(jù)(一月到十二月)。例如,在一月份,平均溫度為 32 華氏度,咖啡店賣出了 590 杯冰咖啡。
import matplotlib.pyplot as plt X = [590,540,740,130,810,300,320,230,470,620,770,250] Y = [32,36,39,52,61,72,77,75,68,57,48,48]
現(xiàn)在我們有了數(shù)據(jù),我們可以開始繪圖。
步驟 3 — 繪制數(shù)據(jù)
散點圖非常適合用于確定兩個變量之間的關系,因此我們將使用這種圖表類型作為示例。要使用 matplotlib 創(chuàng)建散點圖,我們將使用 scatter()
函數(shù)。該函數(shù)需要兩個參數(shù),分別表示 X 和 Y 坐標值。
import matplotlib.pyplot as plt X = [590,540,740,130,810,300,320,230,470,620,770,250] Y = [32,36,39,52,61,72,77,75,68,57,48,48] plt.scatter(X,Y) plt.show()
每次創(chuàng)建圖表時,我們都必須使用 plt.show()
指定要顯示圖表。
在繼續(xù)之前,讓我們檢查一下我們的腳本是否正常工作。保存腳本并通過命令行運行:
python scatter.py
如果一切順利,應該會啟動一個窗口顯示圖表,如下所示:
!Alt 散點圖
這個窗口非常適合查看數(shù)據(jù);它是交互式的,并包括幾個功能,比如懸停顯示標簽和坐標、放大或縮小以及保存。
步驟 4 — 添加標題和標簽
現(xiàn)在我們知道我們的腳本正常工作,我們可以開始向圖表中添加信息。為了清楚地表明我們的數(shù)據(jù)代表什么,讓我們在圖表中包括一個標題以及每個軸的標簽。
我們將從添加標題開始。我們在腳本的 plt.show()
行之前添加標題。
import matplotlib.pyplot as plt X = [590,540,740,130,810,300,320,230,470,620,770,250] Y = [32,36,39,52,61,72,77,75,68,57,48,48] plt.scatter(X,Y) plt.title('溫度與冰咖啡銷量之間的關系') plt.show()
接下來,在 plt.title
行下方添加軸的標簽:
... plt.xlabel('售出的冰咖啡杯數(shù)') plt.ylabel('華氏溫度') ...
如果我們保存腳本并再次運行它,現(xiàn)在應該會得到一個更新的圖表,更具信息性。我們的更新后的圖表應該看起來像這樣:
!Alt 帶有標題和 X/Y 標簽的散點圖
步驟 5 — 自定義圖表
我們處理的每個數(shù)據(jù)集都是獨特的,能夠自定義我們希望如何顯示信息非常重要。記住,可視化也是一門藝術,所以可以在其中發(fā)揮創(chuàng)意!matplotlib 包括許多自定義功能,比如不同的顏色、點符號和大小。根據(jù)我們的需求,我們可能想嘗試不同的比例,為我們的軸使用不同的范圍。我們可以通過指定軸的新范圍來更改默認參數(shù),如下所示:
import matplotlib.pyplot as plt X = [590,540,740,130,810,300,320,230,470,620,770,250] Y = [32,36,39,52,61,72,77,75,68,57,48,48] plt.scatter(X,Y) plt.xlim(0,1000) plt.ylim(0,100) plt.title('溫度與冰咖啡銷量之間的關系') plt.show() ...
原始圖表中的點看起來有點小,藍色可能不是我們想要的顏色。也許我們想要三角形而不是圓圈作為點的符號。如果我們想要更改點的實際顏色/大小/形狀,我們必須在初始的 plt.scatter()
調(diào)用中進行這些更改。我們將更改以下參數(shù):
s
:點的大小,默認值為 20c
:顏色、序列或顏色序列,默認值為 ‘b’marker
:點符號,默認值為 ‘o’
可能的標記包括許多不同的形狀,如菱形、六邊形、星形等。顏色選擇包括藍色、綠色、紅色和洋紅色等。還可以提供 HTML 十六進制字符串作為顏色。請參閱 matplotlib 的文檔,了解可能的標記和顏色的全面列表。
為了使我們的圖表更易于閱讀,讓我們將點的大小加倍(s=60
),將顏色更改為紅色(c='r'
),并將符號更改為三角形(marker='^'
)。我們將修改 plt.scatter()
函數(shù):
plt.scatter(X, Y, s=60, c='red', marker='^')
在運行更新后的腳本之前,我們可以再次檢查我們的代碼是否正確。自定義圖表的更新腳本應該看起來像這樣:
import matplotlib.pyplot as plt X = [590,540,740,130,810,300,320,230,470,620,770,250] Y = [32,36,39,52,61,72,77,75,68,57,48,48]
#散點圖
plt.scatter(X, Y, s=60, c='red', marker='^')
#更改坐標軸范圍
plt.xlim(0,1000) plt.ylim(0,100)
#添加標題
plt.title('溫度與冰咖啡銷量的關系')
#添加 x 和 y 軸標簽
plt.xlabel('售出冰咖啡杯數(shù)') plt.ylabel('華氏溫度')
#顯示圖表
plt.show()
不要忘記在進行第 6 步之前保存你的腳本。
步驟 6 — 保存圖表
現(xiàn)在我們已經(jīng)完成了代碼,讓我們運行它來查看我們新定制的圖表。
python scatter.py
現(xiàn)在應該會打開一個窗口顯示我們的圖表:
!Alt 帶有標題和 X/Y 標簽的最終散點圖,并使用更大、紅色、三角形點進行定制。
接下來,通過單擊保存按鈕(位于底部工具欄上的磁盤圖標)來保存圖表。請記住,圖像將被保存為 PNG 格式,而不是交互式圖表。恭喜你,現(xiàn)在你擁有自己定制的散點圖!
結(jié)論
在本教程中,你學會了如何使用 Python 中的 matplotlib 繪制數(shù)據(jù)。現(xiàn)在你可以可視化數(shù)據(jù)并定制圖表。
以上就是使用matplotlib在Python中繪制數(shù)據(jù)的詳細教程的詳細內(nèi)容,更多關于 Python matplotlib繪制數(shù)據(jù)的資料請關注腳本之家其它相關文章!
相關文章
Python實現(xiàn)PC屏幕截圖并自動發(fā)送郵箱
這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)一個屏幕截圖應用程序,可以定時截取屏幕,并將截圖通過電子郵件發(fā)送給指定的收件人,需要的可以參考下2024-12-12pandas 數(shù)據(jù)索引與選取的實現(xiàn)方法
這篇文章主要介紹了pandas 數(shù)據(jù)索引與選取的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06python和websocket構(gòu)建實時日志跟蹤器的步驟
這篇文章主要介紹了python和websocket構(gòu)建實時日志跟蹤器的步驟,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-04-04Python實現(xiàn)多格式文本轉(zhuǎn)為word
在現(xiàn)代工作中,我們常常需要處理不同格式的文件,其中Word文檔是最為常見的一種,本文主要介紹了如何使用Python創(chuàng)建一個全能的文件處理工具,能夠?qū)⒍喾N格式的文件轉(zhuǎn)換為Word文檔,需要的可以參考下2023-11-11基于Python實現(xiàn)股票數(shù)據(jù)分析的可視化
在購買股票的時候,可以使用歷史數(shù)據(jù)來對當前的股票的走勢進行預測,這就需要對股票的數(shù)據(jù)進行獲取并且進行一定的分析。本文將介紹如何通過Python實現(xiàn)股票數(shù)據(jù)分析的可視化,需要的可以參考一下2021-12-12pandas如何統(tǒng)計某一列或某一行的缺失值數(shù)目
這篇文章主要介紹了pandas如何統(tǒng)計某一列或某一行的缺失值數(shù)目,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05