【发布时间】:2021-11-08 04:08:34
【问题描述】:
如果有人在 seaborn 的条形图中使用 hue 并且缺少其中一个类别,则会导致这种“空列”的奇怪效果,其中 seaborn 在预期色调的位置没有任何内容(见下文第二个位置,星期五;或在第二张图片中)。一个人怎么能把这种情况集中起来,让它在勾号的地方呢?在第一种情况下,它将位于橙色条的中间,在第二种情况下,它将删除蓝色和绿色之间的空白区域并将刻度线放在绿色条的中间。
谢谢。
import seaborn
tips = sns.load_dataset("tips")
tips.loc[(tips["sex"]=="Male")&(tips["day"]=="Fri"), "total_bill"]=np.nan
sns.barplot(x="day", y="total_bill", hue="sex", data=tips)
sns.barplot(x="sex", y="total_bill", hue="day", data=tips)
旁注,与post无关。
【问题讨论】:
-
最近有一个问题/答案完全涵盖了这一点,但我找不到。您可以查看 seaborn 标记的问题
-
@JohanC 是的,第二个是我想的那个,但我认为它不太适合这个问题,现在我再次看到它。
-
可能是这样的answer,这是手动实现的。
-
感谢 cmets。 first mentioned post 并不理想,因为它改变了问题——子图可以肯定地解决它。正如@TrentonMcKinney 提到的,第二个并不完全相同。带有手动解决方案的last post 完成了部分工作,但并不完美,我会更新问题。不过谢谢你们俩的提示。
标签: python matplotlib seaborn bar-chart