2016-06-30 6 views
-1

MATPLOTLIB.PYPLOTの使用私はビューをyの特定の範囲に制限したい2dヒストグラムを作成しています同時に、y軸の下側にあるすべての値を特定の数値以下にクラスタリングする必要があります。私が考えているのは、カラーバーに三角形の拡張子を付ける方法と似ていて、その拡張子内のものは特定の条件にプロットされています。私がしたいことは、y軸を含む以外は似ています。Matplotlib、2dヒストグラムを作成していますが、カラーバーで行われているのと同様の三角軸の拡張が必要です

答えて

0

私が考えることができる最も簡単な方法は、ヒストグラムを呼び出す前にデータをフィルタリングすることです。次に、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軸の下部にあるすべての閾値処理値の分布を見ることができます。

enter image description here

関連する問題