web-dev-qa-db-ja.com

Pythonで2Dヒストグラムを詳細に説明してください

2Dヒストグラムの値を理解しようとしています。

同じ長さXとYの2つのnumpy配列があります(それぞれに浮動小数点数)。

たとえば、Xの最初の10個の値:[88、193、60、98、78、100、75、76、130]

およびY:[18.、9.、36.1、18.5、34.3、32.9、32.2、22.、15.]

私が使うとき:

import matplotlib.pyplot as plt

plt.hist2d(X,Y, bins=(10,20)) 

2Dヒストグラムが表示されます。

しかし、それはどういう意味ですか?

1Dヒストグラムは、私が持っている各アイテムの量を示しています。

2Dの意味を教えてください。

前もって感謝します!

9
Steve

1D配列があり、その値の位置をx軸上にプロットするとします。それらは密度が非常に高いため、空間分布がわかりません。1Dヒストグラムを使用して、x軸に沿ったボックスの数で分布を表示します。問題が解決しました。

次に、2つの1D配列、(x、y)軸の2Dドットのリストがあります。それらの位置をx-y平面にプロットします。ここでも、それらは非常に密で、互いに重なり合っています。平面内のボックスの数によって分布をよりよく表示したいので、2Dダイアグラムを試します。問題が解決しました。

ここに例があります

import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

# prepare 2D random dots centered at (0, 0)
n = 100000
x = np.random.randn(n)
y = x + np.random.randn(n)

# plot data
fig1 = plt.figure()
plt.plot(x,y,'.r')
plt.xlabel('x')
plt.ylabel('y')

与える

enter image description here

# plot 2D histogram using pcolor
fig2 = plt.figure()
plt.hist2d(x, y, bins=100)
plt.xlabel('x')
plt.ylabel('y')
cbar = plt.colorbar()
cbar.ax.set_ylabel('Counts')

与える

enter image description here

14
Neo X