SciPyとmatplotlibの学習で書いたコードです。実行するとパラメーターの異なる2つの正規分布とそれらの重複領域を描画します。
import numpy as np from scipy.stats import norm import matplotlib.pyplot as plt # 正規分布のPDF f1 = lambda x: norm.pdf(x, -5, 5) f2 = lambda x: norm.pdf(x, 8, 3) # グラフのプロット plt.rcParams["font.family"] = "MS Gothic" #日本語表示対応 fig, ax = plt.subplots() x = np.linspace(-20, 20, 1000) #2つの正規分布のPDFを描画する。 y1 = f1(x) y2 = f2(x) ax.plot(x, y1, color="black") ax.plot(x, y2, color="black") #共通部分を半分ずつ塗りつぶす #右側 ax.fill_between(x, y1, where=y1<y2) #左側 ax.fill_between(x, y2, where=y1>y2) ax.set_ylim(bottom=0) #y軸を0開始正方向にする。 ax.set_title("2つの正規分布のPDFと重複領域") ax.set_xlabel("確率変数") ax.set_ylabel("確率") plt.show()