国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型

這篇具有很好參考價值的文章主要介紹了Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Matplotlib繪制圖的常用類型

plot(x,y)

plot(x, y)函數(shù)用于繪制折線圖。折線圖是一種用來展示連續(xù)數(shù)據(jù)之間關(guān)系的圖表類型,適用于表示數(shù)據(jù)隨著一個或多個變量的變化而變化的情況。

具體來說,plot(x, y)函數(shù)接受兩個參數(shù):

  • x:表示X軸上的數(shù)據(jù)點的值,通常是一個數(shù)組或列表,表示自變量的取值。
  • y:表示Y軸上的數(shù)據(jù)點的值,也是一個數(shù)組或列表,表示因變量隨自變量變化的取值。

折線圖會將這些數(shù)據(jù)點連接起來,形成一條或多條線,以展示數(shù)據(jù)的趨勢或變化情況。以下是一些常見的折線圖樣式及其特點:

  1. 單條折線圖:用于表示單一變量的變化趨勢。可以通過添加數(shù)據(jù)標記點來強調(diào)關(guān)鍵數(shù)據(jù)點。
  2. 多條折線圖:可以在同一張圖上繪制多條折線,用于比較多個變量之間的趨勢。每條折線可以使用不同的顏色或線型進行區(qū)分。
  3. 帶標記點的折線圖:通過在折線上添加標記點,可以更清晰地表示數(shù)據(jù)的取值,尤其在數(shù)據(jù)變化明顯的位置。
  4. 平滑曲線折線圖:使用平滑曲線(如樣條曲線或平滑的多項式擬合曲線)來連接數(shù)據(jù)點,以平滑顯示數(shù)據(jù)的變化趨勢,避免過多的波動。
  5. 面積圖折線圖:可以通過在折線下方填充顏色,展示數(shù)據(jù)隨時間的累積變化。常用于表示累積數(shù)據(jù),如總收入或總銷量。
  6. 雙坐標軸折線圖:在同一張圖上繪制兩條折線,分別使用左右兩個不同的Y軸刻度,用于表示不同量綱或變化幅度較大的數(shù)據(jù)。

例如:

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery')
# 生成數(shù)據(jù)
x = np.linspace(0, 10, 100)
y = 4 + 2 * np.sin(2 * x)

# plot
fig, ax = plt.subplots()

ax.plot(x, y, linewidth=2.0)

ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
       ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

scatter(x, y)

scatter(x, y)函數(shù)用于繪制散點圖。散點圖是一種用于展示兩個變量之間關(guān)系的圖表類型,每個數(shù)據(jù)點由兩個數(shù)值(X軸和Y軸上的值)表示,以點的形式在圖表上進行表示。

scatter(x, y)函數(shù)接受兩個參數(shù):

  • x:表示X軸上的數(shù)據(jù)點的值,通常是一個數(shù)組或列表,表示自變量的取值。
  • y:表示Y軸上的數(shù)據(jù)點的值,也是一個數(shù)組或列表,表示因變量的取值。

散點圖通過在坐標系中放置單個數(shù)據(jù)點來展示兩個變量之間的關(guān)系。以下是一些散點圖的特點和用途:

  1. 相關(guān)性檢測:通過繪制散點圖,可以觀察兩個變量之間的關(guān)系,判斷它們之間是否存在線性相關(guān)性、正相關(guān)還是負相關(guān)。
  2. 分布情況:散點圖可以用來展示數(shù)據(jù)的分布情況,特別是在兩個維度上都有變化的情況下。
  3. 聚類分析:當數(shù)據(jù)點在圖上聚集成群時,散點圖可以幫助識別是否存在多個聚類或群集。
  4. 異常值識別:通過觀察散點圖,可以識別出位于數(shù)據(jù)集中的異常值或離群點。
  5. 多變量關(guān)系:散點圖也可以用于展示多個變量之間的關(guān)系,通過使用不同的顏色、大小或形狀來表示不同的變量。

比如生成一個顯示汽車速度與制動距離關(guān)系的散點圖,其中每個數(shù)據(jù)點表示一個速度-制動距離的對應(yīng)關(guān)系:

import matplotlib.pyplot as plt
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體

# 示例數(shù)據(jù):汽車速度與制動距離的關(guān)系
speed = [4, 7, 11, 15, 18, 20, 22, 24, 26, 29]
brake_distance = [2, 4, 7, 10, 12, 15, 18, 22, 25, 28]

# 創(chuàng)建散點圖
plt.figure(figsize=(8, 6))  # 設(shè)置圖像大小
plt.scatter(speed, brake_distance, color='blue', marker='o', label='數(shù)據(jù)點')  # 繪制散點圖
plt.title('汽車速度與制動距離關(guān)系')  # 添加標題
plt.xlabel('速度 (mph)')  # 添加X軸標簽
plt.ylabel('制動距離 (ft)')  # 添加Y軸標簽
plt.legend()  # 顯示圖例
plt.grid(True)  # 添加網(wǎng)格線
plt.show()  # 顯示圖像

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

在使用scatter(x, y)函數(shù)時,還可以通過設(shè)置參數(shù)來定制散點圖的外觀,如點的大小、顏色、標記形狀等,以便更好地傳達數(shù)據(jù)的信息。

例如生成一個具有隨機數(shù)據(jù)點、自定義樣式和點大小、顏色的散點圖:

import matplotlib.pyplot as plt
import numpy as np
# 創(chuàng)建數(shù)據(jù)
np.random.seed(3)
x = 4 + np.random.normal(0, 2, 24)  # 生成24個隨機數(shù),以4為中心,標準差為2
y = 4 + np.random.normal(0, 2, len(x))  # 生成與x相同數(shù)量的隨機數(shù),以4為中心,標準差為2
# 設(shè)置點的大小和顏色
sizes = np.random.uniform(15, 80, len(x))  # 生成在15和80之間的隨機數(shù)作為點的大小
colors = np.random.uniform(15, 80, len(x))  # 生成在15和80之間的隨機數(shù)作為顏色

# 繪制散點圖
fig, ax = plt.subplots()  # 創(chuàng)建一個圖像和坐標軸的組合
ax.scatter(x, y, s=sizes, c=colors, vmin=0, vmax=100)  # 繪制散點圖,設(shè)置點的大小和顏色的范圍

# 設(shè)置坐標軸范圍和刻度
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
       ylim=(0, 8), yticks=np.arange(1, 8))

plt.show()  # 顯示圖像

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

bar(x, height)

bar(x, height)函數(shù)用于繪制條形圖(柱狀圖)。條形圖是一種常用的數(shù)據(jù)可視化方式,用于展示不同類別或組之間的比較。每個條形的高度表示與該類別或組相關(guān)聯(lián)的數(shù)值。

bar(x, height)函數(shù)接受兩個主要參數(shù):

  • x:表示條形的位置,通常是一個數(shù)組或列表,表示每個條形的位置。
  • height:表示每個條形的高度,也是一個數(shù)組或列表,表示每個條形的數(shù)值。

以下是一些關(guān)于bar(x, height)函數(shù)的特點和用途:

  1. 分類比較:條形圖適用于對不同類別或組之間的數(shù)值進行比較。每個條形代表一個類別,其高度表示與該類別相關(guān)的數(shù)值。
  2. 單個數(shù)據(jù)集內(nèi)的分布:可以使用條形圖來展示單個數(shù)據(jù)集內(nèi)不同類別的分布情況,比如一個時間段內(nèi)不同產(chǎn)品的銷售數(shù)量。
  3. 多組數(shù)據(jù)比較:通過在同一張圖上繪制多組條形,可以方便地比較不同組的數(shù)據(jù),以查看它們之間的差異。
  4. 標記數(shù)據(jù)點:可以在每個條形上方添加數(shù)值標簽,以明確顯示每個類別對應(yīng)的具體數(shù)值。
  5. 堆疊條形圖:通過在同一位置堆疊多個條形,可以展示多個維度的數(shù)據(jù),同時呈現(xiàn)每個類別內(nèi)部的分布。
  6. 分組條形圖:將每個類別內(nèi)的不同組的條形并列顯示,便于比較不同組之間的數(shù)值。

例如創(chuàng)建一個條形圖用于比較不同城市的人口數(shù)量和GDP:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體

# 示例數(shù)據(jù):不同城市的人口數(shù)量和GDP
cities = ['City A', 'City B', 'City C', 'City D', 'City E']
population = [1200000, 850000, 1500000, 2000000, 800000]
gdp = [250000, 180000, 320000, 400000, 150000]

# 設(shè)置條形圖的位置
x_positions = np.arange(len(cities))

# 創(chuàng)建條形圖
fig, ax1 = plt.subplots()

# 繪制人口數(shù)量的條形
ax1.bar(x_positions - 0.2, population, width=0.4, align='center', color='b', label='人口數(shù)量')

# 創(chuàng)建第二個坐標軸以顯示GDP數(shù)據(jù)
ax2 = ax1.twinx()
ax2.bar(x_positions + 0.2, gdp, width=0.4, align='center', color='r', label='GDP')

# 設(shè)置圖例和標簽
ax1.set_xticks(x_positions)
ax1.set_xticklabels(cities)
ax1.set_xlabel('城市')
ax1.set_ylabel('人口數(shù)量')
ax2.set_ylabel('GDP')

# 合并圖例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='upper left')

plt.title('城市人口數(shù)量和GDP對比')

plt.show()

每個城市在圖中由兩個相鄰的條形表示,左側(cè)的藍色條形代表人口數(shù)量,右側(cè)的紅色條形代表GDP。通過雙坐標軸的設(shè)計,使得兩種數(shù)據(jù)可以在同一圖中進行比較,而X軸上的城市名稱使得每個條形與相應(yīng)城市相關(guān)聯(lián)。這個例子演示了如何處理具有多個數(shù)據(jù)集和雙坐標軸的情況。

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

stem(x,y)

stem(x, y)函數(shù)用于繪制莖葉圖(stem plot),也稱為蒂葉圖。莖葉圖是一種用于可視化數(shù)據(jù)分布和變化的圖表類型,特別適用于展示數(shù)據(jù)的離散值以及它們的頻率分布。

stem(x, y)函數(shù)接受兩個參數(shù):

  • x:表示X軸上的數(shù)據(jù)點的值,通常是一個數(shù)組或列表,表示數(shù)據(jù)點的位置。
  • y:表示Y軸上的數(shù)據(jù)點的值,也是一個數(shù)組或列表,表示數(shù)據(jù)點的取值。

莖葉圖的繪制方式是:對每個數(shù)據(jù)點,將其拆分為莖(高位部分)和葉(個位部分),然后在圖表上繪制一個垂直線(莖)和水平線(葉),以表示數(shù)據(jù)的分布。

莖葉圖的特點和用途:

  1. 數(shù)據(jù)展示:莖葉圖可用于展示離散數(shù)據(jù)的取值情況,更能突顯數(shù)據(jù)的分布。
  2. 頻率分布:通過莖葉圖,可以直觀地查看數(shù)據(jù)的頻率分布,有助于發(fā)現(xiàn)數(shù)據(jù)的模式和趨勢。
  3. 離群值識別:莖葉圖可以幫助識別離群值,這些值可能在圖表上單獨突出顯示。
  4. 數(shù)據(jù)比較:通過繪制多個數(shù)據(jù)集的莖葉圖,可以方便地比較它們之間的分布。

例如:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體

# 示例數(shù)據(jù):隨機生成一組數(shù)據(jù)
data = np.array([21, 35, 22, 18, 26, 39, 29, 28, 23, 35])

# 創(chuàng)建莖葉圖
plt.stem(data)

# 添加標題和標簽
plt.title('莖葉圖示例')
plt.xlabel('數(shù)據(jù)索引')
plt.ylabel('數(shù)據(jù)值')

plt.show()

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

step(x,y)

step(x, y)函數(shù)用于繪制階梯圖(step plot),也被稱為階梯線圖或臺階圖。階梯圖是一種用于可視化離散數(shù)據(jù)的圖表類型,其特點是數(shù)據(jù)點之間通過垂直和水平線段連接,而不是平滑的曲線。

step(x, y)函數(shù)接受兩個參數(shù):

  • x:表示X軸上的數(shù)據(jù)點的值,通常是一個數(shù)組或列表,表示自變量的取值。
  • y:表示Y軸上的數(shù)據(jù)點的值,也是一個數(shù)組或列表,表示因變量的取值。

階梯圖的繪制方式是:對每個數(shù)據(jù)點,將其前一個數(shù)據(jù)點的X值作為起點,當前數(shù)據(jù)點的Y值作為終點,連接這兩個點。這樣,就可以形成一系列水平線段和垂直線段。

階梯圖的特點和用途:

  1. 數(shù)據(jù)展示:階梯圖適用于展示離散數(shù)據(jù)點之間的變化趨勢,尤其適用于時間序列數(shù)據(jù)。
  2. 數(shù)據(jù)步進:通過階梯圖,可以更清晰地表示數(shù)據(jù)從一個離散點到另一個離散點的變化。
  3. 模擬變化:階梯圖可用于模擬連續(xù)變量在離散時間或事件點上的變化,如模擬某個值在不同時間段內(nèi)的變化。

例如:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體
# 示例數(shù)據(jù):模擬溫度變化
time = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
temperature = np.array([20, 22, 24, 25, 23, 22, 21, 20, 19, 18])

# 創(chuàng)建階梯圖
plt.step(time, temperature, where='mid')

# 添加標題和標簽
plt.title('溫度變化階梯圖')
plt.xlabel('時間')
plt.ylabel('溫度 (°C)')

plt.show()

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

在這個示例圖中,time數(shù)組表示時間點,temperature數(shù)組表示相應(yīng)時間點的溫度。通過plt.step(time, temperature, where='mid')語句,我們繪制了這些溫度變化的階梯圖。where='mid'參數(shù)指定了線段連接到每個數(shù)據(jù)點的中間位置。其他部分用于添加標題和標簽,最后使用plt.show()顯示圖像。這個示例演示了如何使用step(x, y)函數(shù)繪制階梯圖,以展示離散數(shù)據(jù)的變化趨勢。

fill_between(x, y1, y2)

fill_between(x, y1, y2)函數(shù)用于在兩個Y軸數(shù)據(jù)序列之間填充顏色,通常用于表示兩個數(shù)據(jù)序列之間的區(qū)域或范圍。這個函數(shù)可以用于創(chuàng)建各種圖表,如誤差范圍圖、置信區(qū)間圖等。

fill_between(x, y1, y2)函數(shù)接受三個參數(shù):

  • x:表示X軸上的數(shù)據(jù)點的值,通常是一個數(shù)組或列表,表示自變量的取值。
  • y1:表示Y軸上的數(shù)據(jù)點的值,也是一個數(shù)組或列表,表示第一個數(shù)據(jù)序列的取值。
  • y2:表示Y軸上的數(shù)據(jù)點的值,也是一個數(shù)組或列表,表示第二個數(shù)據(jù)序列的取值。

fill_between函數(shù)會在y1y2之間的區(qū)域填充顏色,從而突出兩個數(shù)據(jù)序列之間的差異或范圍。

fill_between函數(shù)的特點和用途:

  1. 數(shù)據(jù)區(qū)間表示fill_between函數(shù)非常適用于展示數(shù)據(jù)序列之間的區(qū)間、范圍或誤差。
  2. 誤差范圍圖:通過填充兩個數(shù)據(jù)序列之間的區(qū)域,可以展示測量值的誤差范圍,幫助理解數(shù)據(jù)的不確定性。
  3. 置信區(qū)間圖:可以使用fill_between來顯示置信區(qū)間,即表達數(shù)據(jù)的預(yù)測范圍。

在下面這個股票價格波動圖的例子中,fill_between函數(shù)的目的是用于將股票價格的上限和下限之間的區(qū)域填充顏色,以突出價格的波動范圍:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體
# 示例數(shù)據(jù):股票價格走勢和價格波動范圍
days = np.arange(1, 11)
stock_prices = [100, 105, 110, 108, 112, 115, 120, 118, 125, 123]
price_range = [4, 3, 5, 3, 4, 3, 4, 3, 5, 4]

# 創(chuàng)建股票價格波動圖
plt.plot(days, stock_prices, color='b', marker='o', label='股票價格')
plt.fill_between(days, np.subtract(stock_prices, price_range), np.add(stock_prices, price_range), color='lightblue', alpha=0.3, label='價格波動范圍')

# 添加標題和標簽
plt.title('股票價格走勢和價格波動范圍')
plt.xlabel('天數(shù)')
plt.ylabel('價格')
plt.legend()

plt.show()

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

首先,我們有每天的股票價格數(shù)據(jù)列表 stock_prices,以及每天的價格波動范圍列表 price_range。對于每一天,我們通過從相應(yīng)的 stock_prices 中減去 price_range 來計算下限值,通過加上 price_range 來計算上限值。這樣,我們獲得了每天股票價格的下限和上限。

然后,使用 plt.fill_between() 函數(shù),我們將這些下限和上限之間的區(qū)域進行填充。fill_between 函數(shù)的第一個參數(shù)是 X 軸的數(shù)據(jù),這里是 days,第二個參數(shù)是 Y 軸的下限,第三個參數(shù)是 Y 軸的上限。這使得函數(shù)知道在哪個范圍內(nèi)填充顏色。

stackplot(x, y)

stackplot(x, y)函數(shù)用于繪制堆疊區(qū)域圖(stacked area plot),也稱為堆積面積圖。堆疊區(qū)域圖適用于展示多個數(shù)據(jù)序列在相同X軸上的分布情況,并突出不同數(shù)據(jù)序列的累積貢獻。

stackplot(x, y)函數(shù)接受兩個參數(shù):

  • x:表示X軸上的數(shù)據(jù)點的值,通常是一個數(shù)組或列表,表示自變量的取值。
  • y:一個列表(或多維數(shù)組)的列表,表示每個數(shù)據(jù)序列在各個X值上的高度。多個數(shù)據(jù)序列將在圖表上堆疊顯示。

堆疊區(qū)域圖的繪制方式是:從下到上,按照給定的數(shù)據(jù)序列順序,將每個數(shù)據(jù)序列的高度在X軸上進行累積疊加。

堆疊區(qū)域圖的特點和用途:

  1. 多個序列比較:堆疊區(qū)域圖適用于比較多個數(shù)據(jù)序列之間的分布,可以突出每個數(shù)據(jù)序列的相對貢獻。
  2. 部分與整體關(guān)系:可以用于展示每個部分對于整體的貢獻,例如市場份額、不同產(chǎn)品的銷售構(gòu)成等。
  3. 分布變化:通過展示堆疊的區(qū)域,可以清楚地看到各個數(shù)據(jù)序列在不同X值上的分布變化。

例如:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體
# 示例數(shù)據(jù):不同年齡段的人口構(gòu)成
age_groups = ['0-10', '11-20', '21-30', '31-40', '41-50', '51-60', '61+']
male_population = [1500, 2200, 3200, 3000, 2800, 2000, 1800]
female_population = [1400, 2100, 3100, 2900, 2700, 1900, 1700]
other_population = [100, 150, 200, 150, 100, 50, 30]

# 創(chuàng)建人口構(gòu)成堆疊區(qū)域圖
plt.stackplot(age_groups, male_population, female_population, other_population,
              labels=['男性', '女性', '其他'], colors=['b', 'r', 'g'], alpha=0.7)

# 添加標題和標簽
plt.title('不同年齡段的人口構(gòu)成')
plt.xlabel('年齡段')
plt.ylabel('人口數(shù)量')
plt.legend(loc='upper right')

plt.show()

在這個示例中使用plt.stackplot()函數(shù)繪制了人口構(gòu)成的堆疊區(qū)域圖,每個數(shù)據(jù)序列在X軸上疊加顯示,通過labels參數(shù)添加圖例標簽,colors參數(shù)設(shè)置不同顏色,alpha參數(shù)設(shè)置填充顏色的透明度,以突出不同年齡段的人口構(gòu)成情況。通過比較不同性別和其他人口在不同年齡段的分布,可以更好地了解人口構(gòu)成的特點和變化趨勢。

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

imshow(Z)

imshow(Z)函數(shù)用于顯示一個二維數(shù)組(或矩陣)Z,將其表示為彩色或灰度圖像。這個函數(shù)常用于圖像處理、數(shù)據(jù)可視化、熱圖等應(yīng)用場景。

imshow(Z)函數(shù)接受一個參數(shù):

  • Z:一個二維數(shù)組,表示圖像的像素值或數(shù)據(jù)矩陣。它可以是灰度圖像、彩色圖像的某個通道,或者表示其他數(shù)據(jù)的矩陣。

imshow函數(shù)的特點和用途:

  1. 圖像顯示imshow函數(shù)可用于將二維數(shù)組顯示為圖像,通過不同的像素值映射到不同的顏色,形成可視化結(jié)果。
  2. 熱圖:當Z是一個數(shù)據(jù)矩陣時,imshow函數(shù)可以用于繪制熱圖,通過不同的數(shù)據(jù)值映射到不同的顏色,幫助顯示數(shù)據(jù)的分布情況。
  3. 圖像處理:在圖像處理中,可以使用imshow來顯示圖像的各種處理結(jié)果,如濾波、邊緣檢測等。

以繪制熱圖(heatmap)為例。熱圖常用于顯示矩陣數(shù)據(jù)的分布情況,其中矩陣的每個元素通過顏色來表示其值的大?。?/p>

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體
# 示例數(shù)據(jù):矩陣數(shù)據(jù)表示數(shù)據(jù)強度
matrix_data = np.random.random((10, 10))  # 10x10的隨機矩陣數(shù)據(jù)

# 顯示熱圖
plt.imshow(matrix_data, cmap='hot', origin='upper')

# 添加顏色條
plt.colorbar()

# 添加標題和標簽
plt.title('數(shù)據(jù)強度熱圖')
plt.xlabel('列')
plt.ylabel('行')

plt.show()

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

對于這個示例,matrix_data是一個隨機生成的10x10矩陣,表示不同位置的數(shù)據(jù)強度。通過使用imshow(matrix_data, cmap='hot', origin='upper'),將矩陣數(shù)據(jù)繪制成了一個熱圖,其中不同顏色表示不同的數(shù)據(jù)強度。cmap參數(shù)指定了使用熱色彩映射,origin參數(shù)指定了坐標原點在圖像的上方。

hist(x)

hist(x)函數(shù)用于繪制直方圖,用于展示數(shù)據(jù)的分布情況,特別是連續(xù)型數(shù)據(jù)的頻率分布。直方圖將數(shù)據(jù)范圍劃分為多個區(qū)間(稱為“箱子”或“bin”),然后統(tǒng)計每個區(qū)間中數(shù)據(jù)的數(shù)量或頻率。

hist(x)函數(shù)接受一個參數(shù):

  • x:一個一維數(shù)組或列表,表示要繪制直方圖的數(shù)據(jù)。

hist函數(shù)的特點和用途:

  1. 數(shù)據(jù)分布可視化hist函數(shù)可以將數(shù)據(jù)的分布情況以直觀的方式展示出來,幫助了解數(shù)據(jù)的中心趨勢、離散程度以及異常值等。
  2. 頻率分布:通過將數(shù)據(jù)分成多個區(qū)間,hist函數(shù)可以顯示每個區(qū)間內(nèi)數(shù)據(jù)的頻率,幫助你分析數(shù)據(jù)在不同值范圍內(nèi)的密度。
  3. 分析分布形狀:直方圖的形狀可以提供關(guān)于數(shù)據(jù)分布是否對稱、偏斜或多峰等信息。

例如分析學生考試成績分布情況:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體
# 示例數(shù)據(jù):學生考試成績
exam_scores = np.random.randint(0, 100, 200)  # 隨機生成200個考試成績

# 繪制直方圖
plt.hist(exam_scores, bins=10, color='green', edgecolor='black')

# 添加標題和標簽
plt.title('學生考試成績分布')
plt.xlabel('分數(shù)范圍')
plt.ylabel('學生人數(shù)')

plt.show()

使用plt.hist(exam_scores, bins=10, color='green', edgecolor='black')函數(shù)繪制了直方圖,bins參數(shù)指定了要使用的區(qū)間數(shù)量,color參數(shù)設(shè)置了柱子的填充顏色,edgecolor參數(shù)設(shè)置了柱子的邊框顏色。

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

pie(x)

pie(x)函數(shù)用于繪制餅圖(pie chart),用于顯示數(shù)據(jù)的相對比例。餅圖通過將數(shù)據(jù)按照不同的比例分成扇形,以表示各個部分在整體中的貢獻。餅圖常用于展示分類數(shù)據(jù)的分布情況。

pie(x)函數(shù)接受一個參數(shù):

  • x:一個包含各個部分比例的一維數(shù)組或列表,表示要繪制餅圖的數(shù)據(jù)。

pie函數(shù)的特點和用途:

  1. 數(shù)據(jù)比例pie函數(shù)適用于展示不同部分在整體中的比例關(guān)系,特別是當你關(guān)注數(shù)據(jù)的相對貢獻時。
  2. 數(shù)據(jù)分類:餅圖可以用于展示數(shù)據(jù)的分類,各個扇形區(qū)域表示不同的數(shù)據(jù)類別。
  3. 直觀顯示:餅圖提供了一種直觀的方式來顯示相對比例,使觀察者能夠迅速理解數(shù)據(jù)的分布情況。

比如需要進行能源分析,了解一個城市的不同能源類型在總能源供應(yīng)中的比例,以及不同能源對環(huán)境的影響:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體
# 示例數(shù)據(jù):城市能源供應(yīng)結(jié)構(gòu)比例
energy_sources = ['煤炭', '石油', '天然氣', '核能', '可再生能源']
proportions = [30, 25, 20, 10, 15]  # 各個能源的供應(yīng)比例

# 繪制餅圖
plt.pie(proportions, labels=energy_sources, autopct='%1.1f%%', startangle=140, colors=['gray', 'pink', 'blue', 'green', 'orange'])

# 添加標題
plt.title('城市能源供應(yīng)結(jié)構(gòu)')

plt.axis('equal')  # 使餅圖保持圓形

plt.show()

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

在上圖中,使用plt.pie(proportions, labels=energy_sources, autopct='%1.1f%%', startangle=140, colors=['gray', 'black', 'blue', 'green', 'orange'])函數(shù)繪制了餅圖,labels參數(shù)指定了每個扇形的標簽,autopct參數(shù)設(shè)置了百分比顯示格式,startangle參數(shù)設(shè)置了餅圖的起始角度,colors參數(shù)設(shè)置了每個扇形的顏色。

contour(X, Y, Z)和contourf(X, Y, Z)

contour(X, Y, Z)contourf(X, Y, Z)函數(shù)用于繪制等高線圖(contour plot)和填充等高線圖(filled contour plot),用于表示二維數(shù)據(jù)的等高線分布。等高線圖在可視化數(shù)據(jù)表面的高度或數(shù)值分布時非常有用。

這兩個函數(shù)的參數(shù)如下:

  • XY:表示二維數(shù)據(jù)的網(wǎng)格點坐標,通常是由numpy.meshgrid函數(shù)生成的兩個二維數(shù)組。
  • Z:一個與XY對應(yīng)的二維數(shù)組,表示要繪制等高線的數(shù)據(jù)值。

contour(X, Y, Z)函數(shù)的特點和用途:

  1. 數(shù)據(jù)輪廓contour函數(shù)用于繪制等高線圖,其中等高線表示數(shù)據(jù)表面上的高度或數(shù)值分布。
  2. 輪廓線:繪制的等高線通過線條表示不同數(shù)據(jù)值的輪廓,顏色通常相同。
  3. 數(shù)據(jù)分布:等高線圖能夠清晰地展示數(shù)據(jù)在二維空間中的分布情況,特別適用于顯示地形高度、溫度分布等數(shù)據(jù)。

contourf(X, Y, Z)函數(shù)的特點和用途:

  1. 填充區(qū)域contourf函數(shù)用于繪制填充等高線圖,其中不同等高線之間的區(qū)域被填充顏色,以突出數(shù)據(jù)值的分布。
  2. 顏色映射:填充區(qū)域的顏色根據(jù)數(shù)據(jù)值的大小來映射,可以通過cmap參數(shù)指定顏色映射。
  3. 數(shù)據(jù)分布:填充等高線圖可以更直觀地顯示數(shù)據(jù)值在不同區(qū)域的分布,特別適用于表示溫度、濃度等數(shù)據(jù)。

假設(shè)想要繪制一個地區(qū)的地形高度分布圖,包括等高線圖和填充等高線圖,以便更好地理解地勢起伏情況:

import matplotlib.pyplot as plt
import numpy as np
# 設(shè)置全局字體為支持中文的字體
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定微軟雅黑或其他中文字體
# 設(shè)置負號為標準的減號
plt.rcParams['axes.unicode_minus'] = False

# 創(chuàng)建網(wǎng)格點坐標
x = np.linspace(-5, 5, 300)
y = np.linspace(-5, 5, 300)
X, Y = np.meshgrid(x, y)

# 示例數(shù)據(jù):地形高度
Z = np.sin(np.sqrt(X**2 + Y**2)) + np.cos(np.sqrt(X**2 + Y**2))

# 創(chuàng)建繪圖區(qū)域
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5))

# 繪制等高線圖
contour1 = ax1.contour(X, Y, Z, levels=20, colors='black')
ax1.set_title('等高線圖')
ax1.set_xlabel('X軸')
ax1.set_ylabel('Y軸')

# 繪制填充等高線圖
contourf = ax2.contourf(X, Y, Z, levels=20, cmap='viridis')
ax2.set_title('填充等高線圖')
ax2.set_xlabel('X軸')
ax2.set_ylabel('Y軸')

# 添加顏色條
cbar = plt.colorbar(contourf, ax=ax2)
cbar.set_label('高度')

plt.tight_layout()
plt.show()

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

注意,以上只是一些基本的Matplotlib所能繪制的圖形類型,它還可以與很多其他庫結(jié)合使用,繪制更多更加復雜的圖形。

---------------------------END---------------------------

題外話

感謝你能看到最后,給大家準備了一些福利!

感興趣的小伙伴,贈送全套Python學習資料,包含面試題、簡歷資料等具體看下方。

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言
??CSDN大禮包??:全網(wǎng)最全《Python學習資料》免費贈送??!(安全鏈接,放心點擊)

一、Python所有方向的學習路線

Python所有方向的技術(shù)點做的整理,形成各個領(lǐng)域的知識點匯總,它的用處就在于,你可以按照下面的知識點去找對應(yīng)的學習資源,保證自己學得較為全面。

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

二、Python兼職渠道推薦*

學的同時助你創(chuàng)收,每天花1-2小時兼職,輕松稿定生活費.
Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

三、最新Python學習筆記

當我學到一定基礎(chǔ),有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術(shù)點的理解,這些理解是比較獨到,可以學到不一樣的思路。

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

四、實戰(zhàn)案例

紙上得來終覺淺,要學會跟著視頻一起敲,要動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰(zhàn)案例來學習。

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型,python,matplotlib,開發(fā)語言

??CSDN大禮包??:全網(wǎng)最全《Python學習資料》免費贈送??!(安全鏈接,放心點擊)

若有侵權(quán),請聯(lián)系刪除文章來源地址http://www.zghlxwxcb.cn/news/detail-769430.html

到了這里,關(guān)于Python中Matplotlib庫的使用(三)—— Matplotlib繪制圖的常用類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)據(jù)可視化神器!Matplotlib Python教程 | 從入門到精通繪制各種類型的圖形和保存圖形

    數(shù)據(jù)可視化神器!Matplotlib Python教程 | 從入門到精通繪制各種類型的圖形和保存圖形

    大家好,我是愛吃熊掌的魚,今天我要給大家?guī)硪黄腥ら_朗的Matplotlib Python教程。Matplotlib是Python中最流行的數(shù)據(jù)可視化庫之一,它可以幫助我們將數(shù)據(jù)轉(zhuǎn)化為易于理解的圖表和圖形。無論你是初學者還是專業(yè)人士,Matplotlib都是一個非常有用的工具。讓我們開始吧! 在開

    2023年04月21日
    瀏覽(23)
  • 【Python數(shù)據(jù)可視化】matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖

    【Python數(shù)據(jù)可視化】matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖

    文章傳送門 Python 數(shù)據(jù)可視化 matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖 matplotlib之設(shè)置坐標:添加坐標軸名字、設(shè)置坐標范圍、設(shè)置主次刻度、坐標軸文字旋轉(zhuǎn)并標出坐標值 matplotlib之增加圖形內(nèi)容:設(shè)置圖例、設(shè)置中文標題、設(shè)置網(wǎng)格效果 matplo

    2024年01月16日
    瀏覽(31)
  • python使用matplotlib庫繪制數(shù)學函數(shù)

    python使用matplotlib庫繪制數(shù)學函數(shù)

    ** ** matplotlib是python的繪畫庫,它可以與NumPy一起使用,提供了一種輕量級的MatLab開源高效替代方案。它可以和圖形工具包PyQt等工具 一起配合使用,能夠完成日常科學計算中多種數(shù)學庫圖可視化任務(wù)。 步驟1:使用pip安裝matplotlib庫 在終端輸入 pip install matplotlib 命令,如下圖所

    2024年02月12日
    瀏覽(23)
  • Python中使用matplotlib繪制各類圖表示例

    Python中使用matplotlib繪制各類圖表示例

    折線圖 折線圖是一種用于表示數(shù)據(jù)隨時間、變量或其他連續(xù)性變化的趨勢的圖表。通過在橫軸上放置時間或如此類似的連續(xù)變量,可以在縱軸上放置數(shù)據(jù)點的值,從而捕捉到數(shù)據(jù)隨時間發(fā)生的變化。折線圖可以用于比較不同變量的趨勢,輕松地發(fā)現(xiàn)不同的變量之間的差異。

    2024年02月10日
    瀏覽(24)
  • python使用matplotlib實現(xiàn)折線圖的繪制

    python使用matplotlib實現(xiàn)折線圖的繪制

    一、意義 數(shù)據(jù)可視化可以以簡潔的方式呈現(xiàn)出數(shù)據(jù),發(fā)現(xiàn)眾多數(shù)據(jù)中隱藏的規(guī)律和意義。Matplotlib是一個數(shù)學繪圖庫。利用它可以制作簡單的圖表(散點圖、折線圖)。然后,將基于漫步概念生成一個更有趣的數(shù)據(jù)集–根據(jù)一系列隨機決策生成的圖表。本文我們主要練習折線

    2024年02月12日
    瀏覽(18)
  • Python使用Matplotlib繪制三維折線圖(進階篇)

    Python使用Matplotlib繪制三維折線圖(進階篇)

    三維圖像技術(shù)是現(xiàn)在國際最先進的計算機展示技術(shù)之一,任何普通電腦只需要安裝一個插件,就可以在網(wǎng)絡(luò)瀏覽器中呈現(xiàn)三維的產(chǎn)品,不但逼真,而且可以動態(tài)展示產(chǎn)品的組合過程,特別適合遠程瀏覽。 立體圖視覺上層次分明色彩鮮艷,具有很強的視覺沖擊力,讓觀看的人駐

    2024年02月05日
    瀏覽(26)
  • 使用Matplotlib在Python中繪制三維散點圖

    使用Matplotlib在Python中繪制三維散點圖

    什么是Matplotlib? Matplotlib是Python中的一個庫,用于創(chuàng)建靜態(tài)和動態(tài)動畫,并使用其內(nèi)置函數(shù)繪制。它有很多內(nèi)置特性和內(nèi)置分析工具,用于分析任何圖形或圖表。 如果我們想繪制任何三維圖形,那么我們可以使用Matplotlib庫。當我們有一個巨大的三維變量數(shù)據(jù)集,我們繪制它

    2024年02月12日
    瀏覽(21)
  • Python使用Matplotlib庫繪制雙y軸圖形(柱狀圖+折線圖)

    Python使用Matplotlib庫繪制雙y軸圖形(柱狀圖+折線圖)

    今天是第一次寫 踩坑日記 系列,這個系列用來記錄在Python和R學習過程中遇到的問題和結(jié)果。今天介紹的是使用Python的matplotlib庫繪制兩個y軸圖的一些基本用法與踩坑行為。希望可以幫助到大家,也希望大家可以給出建議,歡迎留言交流。 Matplotlib是Python數(shù)據(jù)分析中常用的可視

    2024年02月15日
    瀏覽(20)
  • Turtle庫的使用 | 一文教你用python繪制五角星

    Turtle庫的使用 | 一文教你用python繪制五角星

    ?本文正在參與新星計劃Python學習方向,詳情請看:(93條消息) lifein的博客_CSDN博客-SQL SERVER,計算機三級——數(shù)據(jù)庫領(lǐng)域博主 目錄 一、Turtle庫 二、代碼詳細講解 (一)代碼:? (二)重要代碼解釋: ????????最初來自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于

    2024年02月05日
    瀏覽(30)
  • 【Python】Python中使用Matplotlib繪制折線圖、散點圖、餅形圖、柱形圖和箱線圖

    【Python】Python中使用Matplotlib繪制折線圖、散點圖、餅形圖、柱形圖和箱線圖

    python數(shù)據(jù)可視化課程,實驗二 Matplotlib 中文API:API 概覽 | Matplotlib 一、實驗任務(wù)的數(shù)據(jù)背景 提供的源數(shù)據(jù)(數(shù)據(jù)文件employee.csv)共擁有4個特征,分別為就業(yè)人員、第一產(chǎn)業(yè)就業(yè)人員、第二產(chǎn)業(yè)就業(yè)人員、第三產(chǎn)業(yè)就業(yè)人員。根據(jù)3個產(chǎn)業(yè)就業(yè)人員的數(shù)量繪制散點圖和折線圖。

    2023年04月15日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包