为 ndarray 的每两个维度创建散点图
create scatter plot for each two dimension for ndarray
我有形状为 (13, 2236, 1866) 的 ndarray。我想为每个维度和所有其他维度创建散点图,例如 dim1 +dim2, dim1 + dim3, dim1 +dim4 ...sdim2+dim3, dom2+4 .........直到我得到散点图为所有可能性绘制图。
现在我有使用 while 循环的脚本,但是 ofcurse 没有找到所有匹配的可能性。
#array=ndarray
d=0
while d+1<13:
x=array[d].reshape(-1)
y=array[d+1].reshape(-1)
plt.figure(figsize=(8,6))
plt.scatter(x, y, s=5, linewidth=0)
plt.scatter(x, y,s=5, linewidth=0)
plt.xlabel('B{band1}'.format(band1= str(d+1)))
plt.ylabel('B{band2}'.format(band2 = str(d+2)))
plt.show()
d=d+1
这里我得到了 B1+B2,B2+B3,B3+B4 的可能性...
我还尝试创建维度列表和循环使用:
dims=np.arange(0,13)
然后“for d in dims”到 运行 while 循环,但这也没有提供所有可能性。
我的最终目标:为所有维度创建所有可能的散点图
最后我使用了here:
中的函数
dims=np.arange(0,13)
def tessa(source):
result = []
for p1 in range(len(source)):
for p2 in range(p1+1,len(source)):
result.append([source[p1],source[p2]])
return result
pairings = tessa(dims)
print("%d pairings" % len(pairings))
for i in pairings:
xd=i[0]
xy=i[1]
x=array[xd].reshape(-1)
y=array[xy].reshape(-1)
plt.figure(figsize=(8,6))
plt.scatter(x, y, s=5, linewidth=0)
plt.scatter(x, y,s=5, linewidth=0)
plt.xlabel('B{band1}'.format(band1= str(xd+1)))
plt.ylabel('B{band2}'.format(band2 = str(xy+1)))
plt.show()
我有形状为 (13, 2236, 1866) 的 ndarray。我想为每个维度和所有其他维度创建散点图,例如 dim1 +dim2, dim1 + dim3, dim1 +dim4 ...sdim2+dim3, dom2+4 .........直到我得到散点图为所有可能性绘制图。
现在我有使用 while 循环的脚本,但是 ofcurse 没有找到所有匹配的可能性。 #array=ndarray
d=0
while d+1<13:
x=array[d].reshape(-1)
y=array[d+1].reshape(-1)
plt.figure(figsize=(8,6))
plt.scatter(x, y, s=5, linewidth=0)
plt.scatter(x, y,s=5, linewidth=0)
plt.xlabel('B{band1}'.format(band1= str(d+1)))
plt.ylabel('B{band2}'.format(band2 = str(d+2)))
plt.show()
d=d+1
这里我得到了 B1+B2,B2+B3,B3+B4 的可能性... 我还尝试创建维度列表和循环使用:
dims=np.arange(0,13)
然后“for d in dims”到 运行 while 循环,但这也没有提供所有可能性。
我的最终目标:为所有维度创建所有可能的散点图
最后我使用了here:
中的函数dims=np.arange(0,13)
def tessa(source):
result = []
for p1 in range(len(source)):
for p2 in range(p1+1,len(source)):
result.append([source[p1],source[p2]])
return result
pairings = tessa(dims)
print("%d pairings" % len(pairings))
for i in pairings:
xd=i[0]
xy=i[1]
x=array[xd].reshape(-1)
y=array[xy].reshape(-1)
plt.figure(figsize=(8,6))
plt.scatter(x, y, s=5, linewidth=0)
plt.scatter(x, y,s=5, linewidth=0)
plt.xlabel('B{band1}'.format(band1= str(xd+1)))
plt.ylabel('B{band2}'.format(band2 = str(xy+1)))
plt.show()