【发布时间】:2019-03-01 20:31:04
【问题描述】:
我在 python 中有以下问题:我有 7 个列表(甚至可以是简单的行或列向量),每个列表具有相同数量的元素。例如:
a = [x1,x2,....xn] 其中 xi 是浮点数
b= [y1,y2,.....yn] 其中 yi 是浮点数
...........
g = [z1,z2,... zn] 其中 zi 是浮点数
我需要做的是:
首先找到这七个列表的所有可能组合,不重复(我知道有 itertools.combinations)两个一组(我必须找到 21 个可能的组合)。例如 (a,b) , (a,c), (a,d)....
其次,一旦我得到所有这些组合,我就可以运行一种 for 循环来在 2D 中绘制所有这 21 个图(plot(a,b), plot(a,c),...plot(f,g ))。 我在想像列表列表这样的东西,但我想知道某个库中是否有准备好的东西,甚至更容易。 谢谢!
编辑
@FHTMitchell
看这个简单的例子,如果plt.show()没有缩进,我只会得到一张图表
mydata = np.array([[1.4,2.5,3.7],[4.34,5.92,6.234],[2.34,5.12,62.234],[44.34,90.92,23.234],[65.34,44.92,16.234]])
col1 = mydata[:,0]
col2= mydata[:,1]
col3 = mydata[:,2]
for pair in itertools.combinations((col1,col2,col3), 2):
print(list(pair))
fig, ax = plt.subplots()
ax.scatter(pair[0], pair[1])
plt.show()
【问题讨论】:
-
是seaborn's
pairplot你在找什么? -
@DizietAsahi 实际上 OP 所说的是他需要 21 个图,但使用配对图我们得到 49 个图
-
@AlbinPaul 指出
pairplot生成的图表比请求的多。但是,您可以使用底层的PairGrid和map_lower()或map_upper()来生成所需数量的绘图
标签: python list matplotlib vector combinations