Matplotlib 中為直方圖著色
Maxim Maeder
2024年2月15日
本教程教你如何為 matplotlib 直方圖著色並解決條形顯示為黑色的問題。
在我們為直方圖著色之前,我們需要設定我們的指令碼以使用該庫。所以我們從匯入 matplotlib 開始。此外,我們從 random
模組載入 randrange
函式來快速生成一些資料。
import matplotlib.pyplot as plt
from random import randrange
我們繼續設定樣式,檢視所有可用的樣式檢視 plt.style.available
。
plt.style.use("classic")
最後但同樣重要的是,我們在單行迴圈中生成資料。這不會生成有意義的好資料,但它有利於測試目的。請記住,你的資料不會相同。
data = [randrange(0, 100) for _ in range(0, 800)]
在 Matplotlib 中為直方圖著色
現在我們製作一個彩色直方圖。我們只是傳遞給 color
引數一個顏色名稱來執行此操作。此處列出了 matplotlib 中可用的所有命名顏色。不要忘記呼叫show()
函式。
plt.hist(data, 3, color="red")
plt.show()
可能的結果:
當我們設定更高數量的 bin 時,就會出現問題。正如你在影象中看到的,顏色不再是紅色而是黑色。
這是因為我們使用的樣式將條的邊框顏色設定為黑色,現在我們看到的只有它。為了解決這個問題,我們要麼將條形邊框寬度設定為 0,要麼將其顏色也設定為紅色。
plt.hist(data, 500, color="red", ec="red")
# ec is the edge color
或者,
plt.hist(data, 500, color="red", lw=0)
# lw is the linewidth
完整程式碼:
import matplotlib.pyplot as plt
from random import randrange
plt.style.use("classic")
data = [randrange(0, 100) for _ in range(0, 800)]
plt.hist(data, 500, color="red", lw=0)
plt.show()
作者: Maxim Maeder
Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.
GitHub