seaborn 中分组散点图的样本梯度?

问题描述 投票:0回答:1

背景

在生物学(也许还有其他领域)中,有时您希望可视化“对照”和“处理”条件之间的差异。人们通常会从每种条件中收集多个样本,并并排绘制分布图、散点图或群图。在这种情况下,由于样本是独立的,因此我们只能提取总体分布变化。

但有时,凭借明智的实验设置,同一个样本点可以经历这两种条件。因此,人们可以直接评估每个样本的“处理”效果,并检查他/她关于处理的假设是否均匀地应用于所有样本。富有洞察力的情节是我在文献中经常看到的类似内容:

问题

我想知道是否有办法使用seaborn 绘制这样的图。 Boxplot 是我遇到过的最相似的东西。但它缺少两个功能:

  1. 它仅分散异常值(而不是所有样本)
  2. 所有组的相邻类别之间不绘制渐变线

有没有简单的方法可以做到这两点?任何想法都将受到高度赞赏。

python seaborn visualization
1个回答
0
投票

假设这样一个例子:

import seaborn as sns

df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [1, 2, 4, 6, 7]})

ax = sns.boxplot(df)

输出:

您可以

transpose
您的数据框,
reset_index
并覆盖线图:

import seaborn as sns

df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [1, 2, 4, 6, 7]})

ax = sns.boxplot(df)

(df.T.reset_index(drop=True)
   .plot(marker='o', ls=':', color='k', legend=False, ax=ax)
)

输出:

© www.soinside.com 2019 - 2024. All rights reserved.