我试图绘制一个水平条形图,显示50个youtube频道与seaborn的视图数。然而,我无法根据dataframe的类别“category”为条形图着色,而不是因为每个其他类别的空间都很薄(但它们都设置为0)
dataframe:Dataframe
也许使用色调不是一条好路,但我还没有找到其他接近我想要的方式。
下面是我的尝试:
下面的代码:
sns.set_theme(style="whitegrid")
f, ax = plt.subplots(figsize=(6, 16))
sns.barplot(x="30d_average_views", y="display_name", data=df_name_to_views[0:20],
hue='category',hue_order=['musique', 'divertissement', 'humour'],
)
结果Initial plot这几乎是我想要的,但酒吧是如此之薄,它是非常难以阅读,它会更糟,因为我添加更多的数据和更多的类别
1条答案
按热度按时间oogrdqng1#
是否有可能[“categroy”,“display_name”]箱中没有足够的数据?
例如,如果对
它将为‘a’显示2个cat2条,而为‘d’仅显示1个。
但是,如果我在['b','d'] bin上再添加1个数据点,'a'和'b'都将有2个条形。
在你的图中,所有的“category”变量都存在,只是“display_name”没有足够的数据来存储所有的变量。
如果运行
df.groupby(["display_name", "category"]).count()
会发生什么?