У меня есть DataFrame со следующей структурой:Seaborn FacetGrid barplots и Оттенок
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,'interval','value')
Столбики сложены друг перед другом, а распространяясь по всему интервалу. Что мне здесь не хватает?
Я создал gist с набором данных.
Вам нужно передать 'hue' в' map' call, но лучше использовать 'factorplot'. – mwaskom
@mwaskom с использованием 'factorplot' сделал трюк, возможно, вы хотите добавить это как ответ – plablo09