如何连接两个`Facetgrid`图?

时间:2018-05-27 17:38:09

标签: matplotlib seaborn

使用seaborn,我创建了两个Facetgrid(seaborn.axisgrid.FacetGrid)图,如下所示:

#load dataset
import pandas as pd
iris=pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')

#plotting
import matplotlib.pyplot as plt
import seaborn as sns

g1 = sns.FacetGrid(pd.melt(iris.loc[:,['sepal_length','sepal_width','species']], id_vars='species'), col='variable')
g1.map(sns.boxplot, 'species','value',order=['setosa','versicolor','virginia'])
g2 = sns.FacetGrid(iris, col="species")
g2.map(plt.scatter, "sepal_length", "sepal_width")

生成两个单独的图:

enter image description here

enter image description here

我想将它们放在一个图中(并保存为单个pdf文件)。但是,我找不到任何方法来连接这些图(通过python)。我总是可以使用Illustrator / Inkscape或bash命令来连接单独的图。但是我想避免这种情况,并单独在python中执行所有步骤。

我尝试了fig.axes.appendfig.axes.append(g1.axes.flatten()[0])),但子图最终相互重叠。

enter image description here

问题:是否可以连接两个seaborn-Facegrid图?

1 个答案:

答案 0 :(得分:0)

就个人而言,当我需要一起显示多个数字时,我将有一个html输出,其中包含对我想要显示的每个图的嵌入式引用。这样,您就可以在浏览器的所有位置查看分析。