私が考えることができる最も簡単な方法は、ヒストグラムを呼び出す前にデータをフィルタリングすることです。次に、np.where
を使用してyデータをフィルタリングする例を示します。
import numpy as np; np.random.seed(17)
import matplotlib.pyplot as plt
# generate some random normal data
N = 100000
x = np.random.normal(-2, 3, N)
y = np.random.normal(3, 6, N)
# use np.where to set all y values less than -10 to -10
y = np.where(y < -10, -10, y)
# now apply histogram2d
xbins = np.linspace(-10, 10, 101)
ybins = np.linspace(-10, 10, 101)
H, xedges, yedges = np.histogram2d(y, x, bins=(xbins, ybins))
X, Y = np.meshgrid(xedges, yedges)
# plot data with pcolormesh
fig = plt.figure()
ax = fig.add_subplot(111)
img = ax.pcolormesh(X, Y, H)
ax.set_xlim(xedges.min(), xedges.max())
ax.set_ylim(yedges.min(), yedges.max())
plt.colorbar(img)
あなたは、y軸の下部にあるすべての閾値処理値の分布を見ることができます。