matplotlib - 如何连接两个“Facetgrid”图?
问题描述
使用 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")
生成了两个单独的图:
和
我想把它们放在一个图中(并保存为一个 pdf 文件)。但是,我找不到任何连接图的方法(通过python)。我总是可以使用 Illustrator/Inkscape 或 bash 命令来连接单独的绘图。但是我想避免这种情况并单独在 python 中执行所有步骤。
我试过fig.axes.append
(fig.axes.append(g1.axes.flatten()[0])
),但子图最终相互重叠。
问题:是否可以连接两个 seaborn-Facegrid 图?
解决方案
就我个人而言,当我需要同时显示多个图形时,我将有一个 html 输出,其中包含对我要显示的每个图的嵌入式引用。这样您就可以在浏览器上的一个地方查看所有分析。
推荐阅读
- django - 如何在 django 查询集过滤器中包含相同的模型关系“父”
- oracle - Oracle - 根据用户输入控制对数据库的访问
- python - 如何将字符串拆分为长度不同的字母数字列表
- neural-network - 使用 BERT 进行词嵌入并将张量映射到词
- ios - XMPP 未知消息格式
- android - 如何在android中反向滚动聊天活动?
- netflix-zuul - 失败时 Zuul 网关返回代码 200 响应
- components - 我可以在 Inno Setup 的 [Files] 部分显示未安装的组件的磁盘空间要求吗?
- vb.net - 如果文本框与数据库中的数据匹配,如何获取数据表
- mysql - 将 `limit` 与更新 sql 查询一起使用