import numpy as np
arr = np.random.random((10,10))
fig = plt.figure(figsize=(6, 3.2))
ax = fig.add_subplot(111)
plt.imshow(ar)
在上面的代码中,我可以看到2D numpy数组。我想绘制两个2D numpy数组之间的散点图(hexbin)。如何扩展此代码来执行此操作?
- 编辑:
arr_a
[[2, 3]
[3, 4]]
arr_b
[[3, 5]
[4, 6]]
例如,在这种情况下,我们有2个numpy数组,arr_a和arr_b。 2个阵列之间的散点图将逐点比较它们。逐点比较应如下所示:
2 3
3 5
3 4
4 6
答案 0 :(得分:3)
如documentation of hexbin
和this example所示,需要提供两个长度相同的1D数组plt.hexbin(x,y)
。
您可以使用numpy.flatten()
来获取2D数组中的那些。
import numpy as np
import matplotlib.pyplot as plt
n = 66
a = np.ceil(np.random.standard_normal((n,n))*n)
b = np.ceil(np.random.standard_normal((n,n))*n)+6.
plt.hexbin(a.flatten(),b.flatten(),gridsize=10)
plt.show()
n = 66; m = 4
a = np.ceil(np.random.standard_normal((n,n))*m)
b = np.ceil(np.random.standard_normal((n,n))*m)
hb = plt.hexbin(a.flatten(),b.flatten(),mincnt=1)
plt.colorbar(hb)
plt.show()