使用Seaborn将一维时间序列绘制为沿y轴具有边际直方图的线

电话

我正在尝试重新创建下图的广泛功能:

在此处输入图片说明

(摘自EM Ozbudak,M.Thattai,I.Kurtser,AD Grossman和A.van Oudenaarden,Nat Genet 31,69(2002))

seaborn.jointplot可以完成我所需的大部分操作,但似乎无法使用折线图,也没有明显的方法可以沿x轴隐藏直方图。有办法jointplot去做我需要的吗?除此以外,还有其他合理简单的方法可以使用Seaborn创建这种情节吗?

电话

事实证明,可以jointplot通过直接使用基础JointGrid对象来产生具有所需特征的修改

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

x = np.linspace(0,8, 300)
y = (1 - np.exp(-x*5))*.5
ynoise= y + np.random.randn(len(x))*0.08

grid = sns.JointGrid(x, ynoise, ratio=3)
grid.plot_joint(plt.plot)
grid.ax_joint.plot(x, y, c='C0')

plt.sca(grid.ax_marg_y)
sns.distplot(grid.y, kde=False, vertical=True)

# override a bunch of the default JointGrid style options
grid.fig.set_size_inches(10,6)
grid.ax_marg_x.remove()
grid.ax_joint.spines['top'].set_visible(True)

输出:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Seaborn:具有边际直方图的kdeplots

时间序列:沿轴绘制日期

在ggplot2中使用双Y轴在同一图上将两个变量绘制为线

Plotly 如何在同一 Y 轴上绘制具有不同 X 阵列的多条线

Matplotlib:如何绘制两个具有相同x / y轴但一个沿y轴从另一个开始的条形图

如何使用seaborn绘制将直方图条围绕刻度线居中?堆叠条是必不可少的

Seaborn.Distplot生成直方图和具有不同x轴的KDE线-它们如何在绘图中合并?

具有 2 个 y 轴(辅助 y 轴)的 2 个 ts 对象(时间序列)的 ggplot

如何使用seaborn仅绘制y轴

ipython plotly:无法将x轴绘制为日期时间

在python中使用不同的时间索引在同一x轴上绘制多个直方图

使用Seaborn FacetGrid绘制时间序列

使用plotinum绘制具有对数刻度y轴的图形

dplyr:如何获得具有边际比例的双向表?

使用plot在matplotlib中将二维二进制矩阵绘制为一条线?

绘制两个具有不同x轴的时间序列

如何在带有Canvas的Kibana中使用Elastic SQL绘制时间序列直方图?

如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

将时间序列数据绘制为堆积条形图

在一张图中绘制多条线,在x轴上以月为单位的时间,在y轴上发生的次数

使用 3D 绘图沿 y 轴绘制直线

有没有一种方法可以使用matplotlib将3D线绘制为一系列的圆?

使用distplot绘制直方图时,y轴的单位是什么?

第二个Y轴时间序列Seaborn

情节:如何绘制具有共享x轴的多条线?

将多个直方图绘制为网格

生成所有可能的n维k * k * ... * k数组,每个数组沿轴均带有一线

如何将所有边框绘制为角度网格列表材料?

如何在Python中使用Plotly Express在同一y轴上绘制多条线