Matplotlib 中如何同時繪製兩個直方圖

Jinku Hu 2023年1月30日
  1. 兩個直方圖,無重疊條
  2. 帶重疊條的兩個直方圖
Matplotlib 中如何同時繪製兩個直方圖

我們可以在一個圖中同時繪製兩個直方圖。下面顯示了建立帶有和不帶有重疊條形圖的兩個直方圖的方法。

兩個直方圖,無重疊條

示例程式碼:

import numpy as np
import matplotlib.pyplot as plt

a = np.random.normal(0, 3, 3000)
b = np.random.normal(2, 4, 2000)

bins = np.linspace(-10, 10, 20)

plt.hist([a, b], bins, label=["a", "b"])
plt.legend(loc="upper left")
plt.show()

Matplotlib 同時繪製兩個直方圖,沒有重疊條

帶重疊條的兩個直方圖

示例程式碼:

import numpy as np
import matplotlib.pyplot as plt

a = np.random.normal(0, 3, 1000)
b = np.random.normal(2, 4, 900)

bins = np.linspace(-10, 10, 50)

plt.hist(a, bins, alpha=0.5, label="a")
plt.hist(b, bins, alpha=0.5, label="b")
plt.legend(loc="upper left")

plt.show()

Matplotlib 使用重疊的條形圖同時繪製兩個直方圖

當我們兩次呼叫 plt.hist 分別繪製直方圖時,兩個直方圖將具有重疊的條,如你在上面看到的。

alpha 屬性指定繪圖的透明度。0.0 是完全透明的,而 1.0 是完全不透明的。

當兩個直方圖的 alpha 均設為 0.5 時,重疊區域將顯示組合顏色。但是,如果 alpha0.0(預設值),重疊的條僅顯示兩個直方圖中較高值的顏色,而另一種顏色則被隱藏,如下所示。

Matplotlib 使用重疊的 bars_hidden bar 同時繪製兩個直方圖

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook

相關文章 - Matplotlib Histogram