【发布时间】:2020-06-10 09:31:02
【问题描述】:
使用 Seaborn 绘制条形图并使用 hue 参数根据其列值对条形进行着色时,具有相同列值的条将嵌套或聚合,并且仅显示单个条。下图说明了这个问题。 1 号患者有两个样本 sample_type1,值分别为 10 和 20。这两个值已嵌套,两个值都表示为单个条形(作为两者的平均值)。
我想避免这种嵌套,而是在下图中有类似的东西。
这有可能实现吗? MVE 下面。谢谢!
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({
"patient_number": [1, 1, 1, 2, 2, 2],
"sample_type": [1, 1, 2, 1, 2, 3],
"value": [10, 20, 15, 10, 11, 12]
})
sns.barplot(x="patient_number", y="value", hue="sample_type", data=df)
plt.show()
【问题讨论】:
-
您的问题无法给出一般答案。只有当每个患者都有大约相同数量的样本时,它才会起作用。例如,如果患者 3 有 10 个类型 3 的样本会发生什么?
-
那么我想要 x=3 的 10 个绿色条。不过,在这个数据集中,患者都有 3-4 个样本。