我有一个文本文件,只有几列。我想对所有样本进行散点图绘制,这意味着如果我有3个样本,我想得到以下例子:
1 vs 2
1 vs 3
2 vs 1
2 vs 3
3 vs 1
3 vs 2
,但与每一列相关的所有图应位于多个图中。因此,最后我将有3个多列。为此,我在python3中编写了以下代码:
import pandas as pd
import numpy
import seaborn
df = pd.read_csv('myfile.txt', sep="\t")
df1 = df.iloc[:, 3:]
columns = list(df1.columns.values) #to make a list of column names
df2 = (numpy.log(df1))
for i in columns:
ax = seaborn.pairplot(df2, vars=columns, kind='reg')
ax.savefig(f'{columns[i]}.pdf')
但是问题是,当我运行此代码时,我将仅获得列表中第一项的多重绘图,这意味着我将针对“ 1 vs 2”和“ 1 vs 3”获得一个绘图。但我希望除了第一张图外,还能再获得2张多图。一个代表“ 2 vs 1”和“ 2 vs 3”,另一个代表“ 3 vs 1”和“ 3 vs 2”。
您如何解决该问题?