我的数据框架包含以下列标题: subject、Group、MASQ_GDA、MASQ_AA、MASQ_GDD、MASQ_AD
我成功地用以下规格的条形图绘制了其中一幅图:
bar_plot = sns.barplot(x="Group", y='MASQ_GDA', units="subject", ci = 68, hue="Group", data=demo_masq)然而,我试图创造几个这样的酒吧情节并排。对于每一个包含其余3个变量(MASQ_AA、MASQ_GDD、MASQ_AD)的绘图,可能有人知道我如何做到这一点。以下是我正在努力实现的目标的一个例子。

发布于 2018-09-13 09:35:40
如果您查看sns.barplot(),您将看到该函数接受一个参数ax=,允许您告诉海运对象使用哪个轴对象来绘制结果。
ax : matplotlib轴,可选 对象上绘制绘图,否则使用当前轴。
因此,获得所需输出的简单方法是预先创建轴,然后使用相应的sns.barplot()参数调用ax。
fig, axs = plt.subplots(1,4) # create 4 subplots on 1 row
for ax,col in zip(axs,["MASQ_GDA", "MASQ_AA", "MASQ_GDD", "MASQ_AD"]):
sns.barplot(x="Group", y=col, units="subject", ci = 68, hue="Group", data=demo_masq, ax=ax) # <- notice ax= argument另一个选择,也可能是一个更符合海运哲学的选项是使用一个FacetGrid。这将允许您根据数据集中的类别数量自动创建所需的子图数。但是,它需要对数据进行重新设计,以便MASQ_*列的内容位于单个列上,新列显示每个值对应的类别。
https://stackoverflow.com/questions/52303709
复制相似问题