python – Seaborn FacetGrid条形图和色调
发布时间:2020-12-16 22:55:50 所属栏目:Python 来源:网络整理
导读:我有一个具有以下结构的DataFrame: interval segment variable value4 02:00:00 Night weekdays 154.8666675 02:30:00 Night weekdays 100.6666676 03:00:00 Night weekdays 75.4000007 03:30:00 Night weekdays 56.5333338 04:00:00 Night weekdays 55.000
我有一个具有以下结构的DataFrame:
interval segment variable value 4 02:00:00 Night weekdays 154.866667 5 02:30:00 Night weekdays 100.666667 6 03:00:00 Night weekdays 75.400000 7 03:30:00 Night weekdays 56.533333 8 04:00:00 Night weekdays 55.000000 9 04:30:00 Night weekends 53.733333 10 05:00:00 Night weekends 81.200000 11 05:30:00 Night weekends 125.933333 14 07:00:00 Morning weekdays 447.200000 15 07:30:00 Morning weekends 545.200000 16 08:00:00 Morning weekends 668.733333 17 08:30:00 Morning weekends 751.333333 18 09:00:00 Morning weekdays 793.800000 19 09:30:00 Morning weekdays 781.125000 23 11:30:00 Noon weekdays 776.375000 24 12:00:00 Noon weekdays 741.812500 25 12:30:00 Noon weekends 723.000000 26 13:00:00 Noon weekends 734.562500 27 13:30:00 Noon weekends 763.882353 28 14:00:00 Afternoon weekdays 810.411765 31 15:30:00 Afternoon weekdays 855.411765 32 16:00:00 Afternoon weekdays 824.882353 33 16:30:00 Afternoon weekends 768.529412 34 17:00:00 Afternoon weekends 790.812500 35 17:30:00 Afternoon weekends 809.125000 我想生成一个条形图条形图,每个变量一个(工作日/周末),然后根据“段”列为条形图着色. 制作两个条形图非常简单: g = sns.FacetGrid(melted,col="variable") g.map(sns.barplot,'interval','value') 这会产生(我知道xlabels是错的,我可以纠正): 我根据“段”坚持着色吧.根据文档,我需要做的就是在实例化FacetGrid时添加变量并设置一些调色板: g = sns.FacetGrid(melted,col="variable",hue="segment",palette="Set3") g.map(sns.barplot,'value') 但这会产生: 这些条彼此堆叠而不是遍布整个区间.我在这里错过了什么? 我用数据集创建了一个gist. 解决方法
因为interval嵌套在x变量(segment)中,所以你需要告诉barplot关于x变量的所有可能级别,以便它们不会相互叠加:
times = df.interval.unique() g = sns.FacetGrid(df,row="variable",palette="Set3",size=4,aspect=2) g.map(sns.barplot,'value',order=times) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |