首頁 > 後端開發 > Python教學 > 如何在Python中建立累積曲線圖?

如何在Python中建立累積曲線圖?

WBOY
發布: 2023-08-23 20:33:05
轉載
2197 人瀏覽過

ogive圖形以圖形化方式表示一組資料的累積分佈函數(CDF),有時也稱為累積頻率曲線。它用於檢查數據分佈並發現模式和趨勢。 Matplotlib、Pandas和Numpy是Python提供的一些函式庫和工具,用於建立ogive圖形。在本教學中,我們將看看如何使用Matplotlib在Python中產生ogive圖形。

要建立一個累積曲線圖,我們需要匯入所需的庫。在這個例子中,我們將使用Matplotlib,Pandas和Numpy。 Matplotlib是一個流行的資料視覺化函式庫,用於在Python中建立互動式圖表和圖形。另一方面,Numpy用於執行複雜的數學運算。 Pandas是另一個廣泛使用的Python函式庫,專門用於資料操作和分析。

文法

plt.plot(*np.histogram(data, bins), 'o-')
登入後複製

在這個語法中,'data'是用來建立累積曲線圖的資料集。資料的頻率分佈由'np.histogram'函數決定,該函數也傳回直方圖的值和箱子邊界。使用'plt.plot'建立累積曲線圖,使用' 'o-' '格式字串來繪製資料點並用線連接它們。然後,'*'運算子將直方圖的值和箱子邊界作為單獨的參數傳遞給'plt.plot'。

範例

這是一個簡單的範例,創建了一個 ogive 圖來視覺化一個骰子投擲清單的累積頻率分佈。

import numpy as np
import matplotlib.pyplot as plt

# List of dice rolls
rolls = [1, 2, 3, 4, 5, 6, 3, 6, 2, 5, 1, 6, 4, 2, 3, 5, 1, 4, 6, 3]

# Calculate the cumulative frequency
bins = np.arange(0, 8, 1)
freq, bins = np.histogram(rolls, bins=bins)
cumulative_freq = np.cumsum(freq)

# Create the ogive graph
plt.plot(bins[1:], cumulative_freq, '-o')
plt.xlabel('Dice Rolls')
plt.ylabel('Cumulative Frequency')
plt.title('Ogive Graph of Dice Rolls')
plt.show()
登入後複製

首先,我們創建了一個ogive圖來視覺化一組骰子擲出結果的累積頻率分佈,透過導入必要的模組NumPy和Matplotlib來實現。然後,程式碼定義了一組骰子擲出結果,並使用NumPy的直方圖函數來產生資料的“直方圖”,指定資料的分組數和取值範圍。接下來,使用NumPy的'cumsum'函數來表示資料的累積頻率。

最後,使用Matplotlib的「plot」函數將累積頻率繪製為對數圖,其中每個箱的上限用作x軸,形成ogive圖。所得的ogive圖顯示了骰子投擲的累積頻率分佈,其中x軸表示投擲的值,y軸表示這些值在某一點之前的累積頻率。這張圖可以用來分析骰子投擲的頻率和分佈。

輸出

如何在Python中建立累積曲線圖?

#範例

這個範例示範了一個ogive圖,用於視覺化0到100之間的500個隨機數的分佈。

import numpy as np
import matplotlib.pyplot as plt

# Generate random data
data = np.random.randint(0, 100, 500)

# Calculate the cumulative frequency
bins = np.arange(0, 110, 10)
freq, bins = np.histogram(data, bins=bins)
cumulative_freq = np.cumsum(freq)

# Create the ogive graph
plt.plot(bins[1:], cumulative_freq, '-o')
plt.xlabel('Data')
plt.ylabel('Cumulative Frequency')
plt.title('Ogive Graph of Random Data')
plt.show()
登入後複製

在這個範例中,我們首先使用NumPy產生一個包含500個0到100之間的隨機數的資料集。接著使用NumPy計算出資料的累積頻率,每個頻率的區間寬度為10。最後,使用Matplotlib繪製累積頻率與每個區間的上限之間的關係,產生ogive圖。這個範例示範如何使用Python和隨機產生的資料來建立ogive圖。

輸出

如何在Python中建立累積曲線圖?

#我們學會了使用Matplotlib模組在Python中建立累積曲線圖,這是一個簡單的過程,使用matplotlib函式庫。透過載入資料、計算累積頻率並繪製結果,您可以輕鬆地視覺化資料集的分佈,並識別任何模式或趨勢。您可以使用標籤、標題和樣式自訂您的圖形,使其更具視覺吸引力和資訊量。累積曲線圖是統計分析中有用的工具,可以表示各種數據,從收入分佈到考試成績。

以上是如何在Python中建立累積曲線圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板