亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用matplotlib在Python中繪制數(shù)據(jù)的詳細(xì)教程

 更新時(shí)間:2024年10月17日 11:13:37   作者:白如意i  
Python 在處理數(shù)據(jù)方面非常出色,通常,數(shù)據(jù)集 會(huì)包括多個(gè)變量和許多實(shí)例,這使得很難理解數(shù)據(jù)的情況,數(shù)據(jù)可視化是幫助您識(shí)別數(shù)據(jù)模式的一種有用方式,本教程將描述如何使用 matplotlib 在 Python 中繪制數(shù)據(jù),需要的朋友可以參考下

簡(jiǎn)介

Python 在處理數(shù)據(jù)方面非常出色。通常,數(shù)據(jù)集·會(huì)包括多個(gè)變量和許多實(shí)例,這使得很難理解數(shù)據(jù)的情況。數(shù)據(jù)可視化是幫助您識(shí)別數(shù)據(jù)模式的一種有用方式。

例如,假設(shè)您是一名房地產(chǎn)經(jīng)紀(jì)人,您想要了解房屋的年齡與售價(jià)之間的關(guān)系。如果您的數(shù)據(jù)包括 5 棟房屋的數(shù)據(jù),那么理解情況就不會(huì)太困難。但是,假設(shè)您想要使用整個(gè)鎮(zhèn)上 500 棟房屋的數(shù)據(jù),那么理解年齡如何影響價(jià)格就會(huì)變得非常困難。通過(guò)繪制售價(jià)與年齡的關(guān)系,對(duì)數(shù)據(jù)進(jìn)行可視化肯定會(huì)闡明這兩者之間的關(guān)系。

可視化是以一種通用方式快速傳達(dá)概念的方法,特別是對(duì)于那些不熟悉您數(shù)據(jù)的人。每當(dāng)我們處理數(shù)據(jù)時(shí),可視化通常是分析的必要部分。

我們將使用 2D 繪圖庫(kù) matplotlib,最初由 John D. Hunter 編寫,自那以后已成為一個(gè)非?;钴S的開(kāi)源開(kāi)發(fā)社區(qū)項(xiàng)目。它允許您生成高質(zhì)量的折線圖、散點(diǎn)圖、直方圖、條形圖等。每個(gè)圖以不同的方式呈現(xiàn)數(shù)據(jù),通常在確定數(shù)據(jù)的最具信息量的圖之前,嘗試不同類型的圖表是很有用的。要記住,可視化是藝術(shù)和科學(xué)的結(jié)合。

鑒于可視化的重要性,本教程將描述如何使用 matplotlib 在 Python 中繪制數(shù)據(jù)。我們將介紹如何使用一小組數(shù)據(jù)生成散點(diǎn)圖,向圖表添加標(biāo)題和圖例,并通過(guò)更改繪圖點(diǎn)的外觀來(lái)自定義圖表。

完成本教程后,您將能夠在 Python 中繪制數(shù)據(jù)!

先決條件

在進(jìn)行本教程之前,您應(yīng)該已經(jīng)安裝了 Python 3,并在計(jì)算機(jī)上設(shè)置了本地編程環(huán)境。如果不是這種情況,您可以按照適用于您操作系統(tǒng)的相應(yīng)安裝和設(shè)置指南進(jìn)行設(shè)置。

步驟 1 — 導(dǎo)入 matplotlib

在我們開(kāi)始在 Python 中工作之前,讓我們?cè)俅螜z查 matplotlib 模塊是否已安裝。在命令行中,通過(guò)運(yùn)行以下命令檢查 matplotlib 是否已安裝:

python -c "import matplotlib"

如果 matplotlib 已安裝,此命令將順利完成,我們可以開(kāi)始了。如果沒(méi)有安裝,您將收到錯(cuò)誤消息:

Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'matplolib'

如果收到錯(cuò)誤消息,請(qǐng)使用 pip 下載該庫(kù):

pip install matplotlib

現(xiàn)在 matplotlib 已安裝,我們可以在 Python 中導(dǎo)入它。首先,讓我們創(chuàng)建我們將在本教程中使用的腳本:scatter.py。然后,在我們的腳本中,讓我們導(dǎo)入 matplotlib。由于我們只會(huì)使用繪圖模塊(pyplot),因此在導(dǎo)入時(shí)讓我們指定它。

import matplotlib.pyplot as plt

我們通過(guò)在 matplotlib 末尾添加 .pyplot 來(lái)指定我們希望導(dǎo)入的模塊。為了在腳本中更容易地引用該模塊,我們將其縮寫為 plt?,F(xiàn)在,我們可以繼續(xù)創(chuàng)建和繪制我們的數(shù)據(jù)。

步驟 2 — 創(chuàng)建要繪制的數(shù)據(jù)點(diǎn)

在我們的 Python 腳本中,讓我們創(chuàng)建一些要處理的數(shù)據(jù)。我們將使用 2D 數(shù)據(jù),因此我們將需要每個(gè)數(shù)據(jù)點(diǎn)的 X 和 Y 坐標(biāo)。

為了更好地理解 matplotlib 的工作原理,我們將把我們的數(shù)據(jù)與可能的現(xiàn)實(shí)場(chǎng)景聯(lián)系起來(lái)。假設(shè)我們是一家咖啡店的老板,我們對(duì)一年中的平均天氣和冰咖啡的總銷量之間的關(guān)系感興趣。我們的 X 變量將是每月銷售的冰咖啡總數(shù),我們的 Y 變量將是每個(gè)月的華氏平均溫度。

在我們的 Python 腳本中,我們將創(chuàng)建兩個(gè)列表變量:X(冰咖啡總銷量)和 Y(平均溫度)。我們各自列表中的每個(gè)項(xiàng)目將代表每個(gè)月的數(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ù),我們可以開(kāi)始繪圖。

步驟 3 — 繪制數(shù)據(jù)

散點(diǎn)圖非常適合用于確定兩個(gè)變量之間的關(guān)系,因此我們將使用這種圖表類型作為示例。要使用 matplotlib 創(chuàng)建散點(diǎn)圖,我們將使用 scatter() 函數(shù)。該函數(shù)需要兩個(gè)參數(shù),分別表示 X 和 Y 坐標(biāo)值。

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)建圖表時(shí),我們都必須使用 plt.show() 指定要顯示圖表。

在繼續(xù)之前,讓我們檢查一下我們的腳本是否正常工作。保存腳本并通過(guò)命令行運(yùn)行:

python scatter.py

如果一切順利,應(yīng)該會(huì)啟動(dòng)一個(gè)窗口顯示圖表,如下所示:

!Alt 散點(diǎn)圖

這個(gè)窗口非常適合查看數(shù)據(jù);它是交互式的,并包括幾個(gè)功能,比如懸停顯示標(biāo)簽和坐標(biāo)、放大或縮小以及保存。

步驟 4 — 添加標(biāo)題和標(biāo)簽

現(xiàn)在我們知道我們的腳本正常工作,我們可以開(kāi)始向圖表中添加信息。為了清楚地表明我們的數(shù)據(jù)代表什么,讓我們?cè)趫D表中包括一個(gè)標(biāo)題以及每個(gè)軸的標(biāo)簽。

我們將從添加標(biāo)題開(kāi)始。我們?cè)谀_本的 plt.show() 行之前添加標(biāo)題。

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('溫度與冰咖啡銷量之間的關(guān)系')

plt.show()

接下來(lái),在 plt.title 行下方添加軸的標(biāo)簽:

...
plt.xlabel('售出的冰咖啡杯數(shù)')
plt.ylabel('華氏溫度')
...

如果我們保存腳本并再次運(yùn)行它,現(xiàn)在應(yīng)該會(huì)得到一個(gè)更新的圖表,更具信息性。我們的更新后的圖表應(yīng)該看起來(lái)像這樣:

!Alt 帶有標(biāo)題和 X/Y 標(biāo)簽的散點(diǎn)圖

步驟 5 — 自定義圖表

我們處理的每個(gè)數(shù)據(jù)集都是獨(dú)特的,能夠自定義我們希望如何顯示信息非常重要。記住,可視化也是一門藝術(shù),所以可以在其中發(fā)揮創(chuàng)意!matplotlib 包括許多自定義功能,比如不同的顏色、點(diǎn)符號(hào)和大小。根據(jù)我們的需求,我們可能想嘗試不同的比例,為我們的軸使用不同的范圍。我們可以通過(guò)指定軸的新范圍來(lái)更改默認(rèn)參數(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('溫度與冰咖啡銷量之間的關(guān)系')

plt.show()
...

原始圖表中的點(diǎn)看起來(lái)有點(diǎn)小,藍(lán)色可能不是我們想要的顏色。也許我們想要三角形而不是圓圈作為點(diǎn)的符號(hào)。如果我們想要更改點(diǎn)的實(shí)際顏色/大小/形狀,我們必須在初始的 plt.scatter() 調(diào)用中進(jìn)行這些更改。我們將更改以下參數(shù):

  • s:點(diǎn)的大小,默認(rèn)值為 20
  • c:顏色、序列或顏色序列,默認(rèn)值為 ‘b’
  • marker:點(diǎn)符號(hào),默認(rèn)值為 ‘o’

可能的標(biāo)記包括許多不同的形狀,如菱形、六邊形、星形等。顏色選擇包括藍(lán)色、綠色、紅色和洋紅色等。還可以提供 HTML 十六進(jìn)制字符串作為顏色。請(qǐng)參閱 matplotlib 的文檔,了解可能的標(biāo)記和顏色的全面列表。

為了使我們的圖表更易于閱讀,讓我們將點(diǎn)的大小加倍(s=60),將顏色更改為紅色(c='r'),并將符號(hào)更改為三角形(marker='^')。我們將修改 plt.scatter() 函數(shù):

plt.scatter(X, Y, s=60, c='red', marker='^')

在運(yùn)行更新后的腳本之前,我們可以再次檢查我們的代碼是否正確。自定義圖表的更新腳本應(yīng)該看起來(lái)像這樣:

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]

#散點(diǎn)圖

plt.scatter(X, Y, s=60, c='red', marker='^')

#更改坐標(biāo)軸范圍

plt.xlim(0,1000)
plt.ylim(0,100)

#添加標(biāo)題

plt.title('溫度與冰咖啡銷量的關(guān)系')

#添加 x 和 y 軸標(biāo)簽

plt.xlabel('售出冰咖啡杯數(shù)')
plt.ylabel('華氏溫度')

#顯示圖表

plt.show()

不要忘記在進(jìn)行第 6 步之前保存你的腳本。

步驟 6 — 保存圖表

現(xiàn)在我們已經(jīng)完成了代碼,讓我們運(yùn)行它來(lái)查看我們新定制的圖表。

python scatter.py

現(xiàn)在應(yīng)該會(huì)打開(kāi)一個(gè)窗口顯示我們的圖表:

!Alt 帶有標(biāo)題和 X/Y 標(biāo)簽的最終散點(diǎn)圖,并使用更大、紅色、三角形點(diǎn)進(jìn)行定制。

接下來(lái),通過(guò)單擊保存按鈕(位于底部工具欄上的磁盤圖標(biāo))來(lái)保存圖表。請(qǐng)記住,圖像將被保存為 PNG 格式,而不是交互式圖表。恭喜你,現(xiàn)在你擁有自己定制的散點(diǎn)圖!

結(jié)論

在本教程中,你學(xué)會(huì)了如何使用 Python 中的 matplotlib 繪制數(shù)據(jù)。現(xiàn)在你可以可視化數(shù)據(jù)并定制圖表。

以上就是使用matplotlib在Python中繪制數(shù)據(jù)的詳細(xì)教程的詳細(xì)內(nèi)容,更多關(guān)于 Python matplotlib繪制數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)PC屏幕截圖并自動(dòng)發(fā)送郵箱

    Python實(shí)現(xiàn)PC屏幕截圖并自動(dòng)發(fā)送郵箱

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一個(gè)屏幕截圖應(yīng)用程序,可以定時(shí)截取屏幕,并將截圖通過(guò)電子郵件發(fā)送給指定的收件人,需要的可以參考下
    2024-12-12
  • python中flatten()函數(shù)用法詳解

    python中flatten()函數(shù)用法詳解

    本文主要介紹了python中flatten()函數(shù)用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • pandas 數(shù)據(jù)索引與選取的實(shí)現(xiàn)方法

    pandas 數(shù)據(jù)索引與選取的實(shí)現(xiàn)方法

    這篇文章主要介紹了pandas 數(shù)據(jù)索引與選取的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python搜索引擎實(shí)現(xiàn)原理和方法

    Python搜索引擎實(shí)現(xiàn)原理和方法

    這篇文章主要介紹了Python搜索引擎實(shí)現(xiàn)原理和方法,并對(duì)大數(shù)據(jù)分析做了詳細(xì)解釋,喜歡的朋友參考一下。
    2017-11-11
  • WxPython建立批量錄入框窗口

    WxPython建立批量錄入框窗口

    這篇文章主要為大家詳細(xì)介紹了WxPython建立批量錄入框窗口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟

    python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟

    這篇文章主要介紹了python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python實(shí)現(xiàn)多格式文本轉(zhuǎn)為word

    Python實(shí)現(xiàn)多格式文本轉(zhuǎn)為word

    在現(xiàn)代工作中,我們常常需要處理不同格式的文件,其中Word文檔是最為常見(jiàn)的一種,本文主要介紹了如何使用Python創(chuàng)建一個(gè)全能的文件處理工具,能夠?qū)⒍喾N格式的文件轉(zhuǎn)換為Word文檔,需要的可以參考下
    2023-11-11
  • 基于Python實(shí)現(xiàn)股票數(shù)據(jù)分析的可視化

    基于Python實(shí)現(xiàn)股票數(shù)據(jù)分析的可視化

    在購(gòu)買股票的時(shí)候,可以使用歷史數(shù)據(jù)來(lái)對(duì)當(dāng)前的股票的走勢(shì)進(jìn)行預(yù)測(cè),這就需要對(duì)股票的數(shù)據(jù)進(jìn)行獲取并且進(jìn)行一定的分析。本文將介紹如何通過(guò)Python實(shí)現(xiàn)股票數(shù)據(jù)分析的可視化,需要的可以參考一下
    2021-12-12
  • pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目

    pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目

    這篇文章主要介紹了pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python全排列操作實(shí)例分析

    Python全排列操作實(shí)例分析

    這篇文章主要介紹了Python全排列操作,結(jié)合實(shí)例形式分析了Python列表、字符串全排列算法,以及使用標(biāo)準(zhǔn)庫(kù)itertools進(jìn)行全排列的相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07

最新評(píng)論