0
私はこの初期プロットを持っています。ここでPython - プロットの軸の密度のプロットdescale
このためのコードである、濃度表現をプロットするとき
x = subhalos['SubhaloVelDisp']
y = (subhalos['SubhaloBHMass'] * 1e10/0.704) # in units of M_sol h^-1
logx = np.log(x)
logy = np.log(y)
plt.plot(logx, logy, '.')
plt.ylabel('$\log(M_{BH}$/M$_{\odot}$)')
plt.xlabel(' $\log(\sigma_{1D}$/km s$^{-1}$)')
plt.title('$M_{BH}-\sigma$ relation')
は今、私の結果は私にこれを与えて、成功しているが、私の座標軸上の私のユニットは完全に変更されています、まだそれは最初のプロットから形状を保持しています。
x = subhalos['SubhaloVelDisp']
y = subhalos['SubhaloBHMass'] * 1e10/0.704 # in units of M_sol h^-1
X = np.log10(x)
Y = np.log10(y)
x1 = X[np.isfinite(X)]
y1 = Y[np.isfinite(Y)]
x1.resize(y1.shape)
xy = np.vstack([x1,y1])
z = stats.gaussian_kde(xy)(xy)
idx = z.argsort()
x,y,z = x1[idx],y1[idx],z[idx]
fig, ax = plt.subplots()
ax.scatter(X,Y,c=z, s=25, edgecolor='')
plt.ylabel('$\log(M_{BH}$/M$_{\odot}$)')
plt.xlabel(' $\log(\sigma_{1D}$/km s$^{-1}$)')
plt.title('$M_{BH}-\sigma$ relation')
キーの事は、ログ形式で二つの配列x
とy
を渡すとき、私は配列内のNaN値を取得することです。私はその後np.isfinite
モジュールを介してそれらの両方を実行し、私は両方の同じ形状になるように両方の配列のサイズを変更します。
私の値が私の軸上で変わるのはここですか?