在生物学(也许还有其他领域)中,有时您希望可视化“对照”和“处理”条件之间的差异。人们通常会从每种条件中收集多个样本,并并排绘制分布图、散点图或群图。在这种情况下,由于样本是独立的,因此我们只能提取总体分布变化。
但有时,凭借明智的实验设置,同一个样本点可以经历这两种条件。因此,人们可以直接评估每个样本的“处理”效果,并检查他/她关于处理的假设是否均匀地应用于所有样本。富有洞察力的情节是我在文献中经常看到的类似内容:
我想知道是否有办法使用seaborn 绘制这样的图。 Boxplot 是我遇到过的最相似的东西。但它缺少两个功能:
有没有简单的方法可以做到这两点?任何想法都将受到高度赞赏。
假设这样一个例子:
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)
)
输出: