Seaborn:如何用多个折线图制作子图? sns.relplot 似乎不支持? [复制]

2024-01-31

seaborn 文档区分了图形级函数和轴级函数:https://seaborn.pydata.org/introduction.html#figure-level-and-axes-level-functions https://seaborn.pydata.org/introduction.html#figure-level-and-axes-level-functions

我知道像 sns.boxplot 这样的函数可以将轴作为参数,因此可以在子图中使用。

但是 sns.relplot() 怎么样?有没有办法把它放到子图中?

更一般地说,有什么方法可以让seaborn在子图中生成线图吗?

例如,这不起作用:

fig,ax=plt.subplots(2)
sns.relplot(x,y, ax=ax[0])

因为 relplot 不将轴作为参数。


嗯,这不是真的。您确实可以将轴对象传递给relplot。以下是一个最小的答案。这里的关键点是关闭空轴对象由返回relplot。然后您还可以使用ax[0] or ax[1]向您的各个子图添加额外的曲线,就像您所做的那样matplotlib.

import seaborn as sns
import matplotlib.pyplot as plt

fig, ax = plt.subplots(2)

xdata = np.arange(50)

sns.set(style="ticks")
tips = sns.load_dataset("tips")
g1 = sns.relplot(x="total_bill", y="tip", hue="day", data=tips, ax=ax[0])
g2 = sns.relplot(x="total_bill", y="tip", hue="day", data=tips, ax=ax[1])

# Now you can add any curves to individual axis objects 
ax[0].plot(xdata, xdata/5) 

# You will have to close the additional empty figures returned by replot
plt.close(g1.fig)
plt.close(g2.fig) 
plt.tight_layout()

您还可以仅使用以下方式制作线图seaborn as

import seaborn as sns
import numpy as np

x = np.linspace(0, 5, 100)
y = x**2

ax = sns.lineplot(x, y)
ax.set_xlabel('x-label')
ax.set_ylabel('y-label') 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Seaborn:如何用多个折线图制作子图? sns.relplot 似乎不支持? [复制] 的相关文章

随机推荐

  • 当视图不与模型交互时,这就是 MVC 吗?

    我设计了一个 MVC 在 NET 中 其中视图没有到模型的链接 它只知道控制器 传统的 MVC 模式的所有部分都相互通信 就我而言 控制器基本上是一个调解者 这会将任何异常或逻辑排除在视图之外 它对模型的依赖性为零 这不再是 MVC 了吗
  • 使用 Three.js 单击网格获取像素的颜色值

    我正在使用 Three js 的最新版本 我得到了一个带有 2D 网格和渐变颜色的场景 颜色取决于分配给每个顶点的值 我想通过用鼠标单击渐变的每个点来获取它的值 通过获取颜色 并对我的值进行一些数学计算 我尝试使用这样的系统 因为它在这里工
  • 使用toggleClass更改类后的jQuery事件

    我对 jQuery 和toggleClass 有疑问 我想创建一个 div 单击按钮即可关闭 按钮发生变化 当我再次单击此按钮时 div 将再次打开 问题是 当我单击按钮时 div 关闭并且按钮的类发生变化 这很好 但现在 当我单击新类的按
  • fread EOF 而不是分隔符

    我正在尝试用 fread 读取一个大文件 但我猜文件的布局有些混乱 如果我尝试读取文件 data fread input data txt sep t 在此文件上 我只是选择了有错误的行以及前后的一些内容 ID imdbID Title Y
  • 用 Python 封装旧版 Fortran。使用 setuptools 和 numpy.distutils 可以吗?

    我正在尝试为我的领域中一些流行的 Fortran 代码制作一个 python 包发行版 我希望它使用最标准的方法setup py文件 相关问题对学习有帮助如何包装 Fortran 扩展 https stackoverflow com que
  • 如何在新版Android Studio中添加classpath

    我将 android studio 版本更新为 bumblebee 版本 现在我想将导航组件添加到我的项目中 我想将类路径添加到 gradle 但是这个文件 gradle 已更改 我不知道如何添加它 我想添加这个 classpath and
  • 如何使用 Node.js 中的本机 Promise 全局处理异常?

    我知道怎么做处理承诺中的特定错误 https stackoverflow com questions 21800010 how do i handle errors with promises但有时我的代码片段看起来像这样 someProm
  • jquery ui - 模式对话框(创建模式内容的更好方法?)

    有没有办法在 JavaScript 中定义模式内容 而不是总是必须在页面上有一个元素并从中创建对话框 它有标题选项 因此我可以 动态 创建模态标题 但实际内容呢 就像说我需要它说 你要删除图像 539 而不是为每个可能的图像创建一个模式 或
  • NoSQL - MongoDB 与 CouchDB [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 对于 NoSQL 运动 我完全是个菜鸟 我听说过很多关于 MongoDB 和 CouchDB 的事情 我知道两者之间存在差异 作为进入 NoSQ
  • 在 cakephp 2.0 中运行插件的 shell

    我创建了一个新的 CakePHP 2 0 应用程序 并且想要运行插件的 shell
  • 抛出异常还是阻止异常?

    问题是是否更愿意Throw an exception或防止其发生 这是一个游戏项目 IndexOutOfBoundsException与围绕它进行编码相比 我有一个List
  • 动态数据源路由 - 数据源路由器未初始化

    我指的是这个article https spring io blog 2007 01 23 dynamic datasource routing 其中我们可以使用 Spring Framework 中的 AbstractRoutingDat
  • 如何使用 LWP 和正则表达式抓取 javascript 函数的日期参数?

    我在从特定网页抓取日期时遇到困难 因为该日期显然是传递给 JavaScript 函数的参数 我过去写过一些简单的抓取工具 没有任何重大问题 所以我没想到会出现问题 但我正在努力解决这个问题 该页面有 5 6 个日期 采用常规 yyyy mm
  • 为什么 getElementById 不适用于文档元素内的元素? [复制]

    这个问题在这里已经有答案了 如果你使用getElementById与文件类似 document getElementById那么它总是有效的 但是 如果我们对一个元素执行相同的操作x like x getElementById 然后它返回一
  • 如何在 primefaces 数据表中显示可变数量的列

    我有以下数组列表 class Report private String manufacturer private String color private List
  • 代码覆盖率结果窗口中的额外类

    在 Visual Studio 2010 中运行自动化测试后 代码覆盖率结果 选项卡显示一些我不明白的内容 接受测试的类之一称为 ApplicationData 它显示在代码覆盖率列表中 但它的变体也会出现 在本例中出现了三次 见下文 如果
  • 如何在 Javascript 中比较 C# Viewbag 中的值?

    我想比较一个布尔值Viewbag在 JavaScript 中 所以一开始我尝试了这个 if Viewbag MyBoolValue do sth 但后来我在控制台中出现错误 例如 Value False True is not declar
  • django:如何从包含外键的多个模型制作一种表单

    我正在尝试在一页上制作一个使用多个模型的表单 这些模型相互参考 我在验证表单时遇到问题 因为我不知道如何将表单中使用的两个模型的 id 获取到表单中以进行验证 我在模板中使用了隐藏键 但我不知道如何使其在视图中工作 我的代码如下 views
  • 如何使用笔记本jupyter在html中发布R代码

    我看到很多人谈论使用 jupyter 笔记本将代码转换和共享为 HTML 就像小菜一碟 但它对我来说变成了一场噩梦 我确实可以通过使用下拉菜单下载代码将其转换为 html 但它只能在我自己的计算机上访问 如果我将其作为链接发送给其他人 他们
  • Seaborn:如何用多个折线图制作子图? sns.relplot 似乎不支持? [复制]

    这个问题在这里已经有答案了 seaborn 文档区分了图形级函数和轴级函数 https seaborn pydata org introduction html figure level and axes level functions h