为python3中的所有列制作多个图

时间:2019-10-14 08:32:02

标签: plot seaborn

我有一个文本文件,只有几列。我想对所有样本进行散点图绘制,这意味着如果我有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”。

您如何解决该问题?

0 个答案:

没有答案