Я пытаюсь построить гистограмму, Продажа против категорий. Ниже мой фрейм данных,
S2PName-Category S2BillDate totSale count
0 Beverages 2020-03-06 4452.62 252
1 Food 2020-03-06 36556.91 774
2 Others 2020-03-06 608.95 99
3 Snacks 2020-03-06 2662.75 139
4 Juice 2020-03-06 2139.49 40
5 IceCream 2020-03-06 135.00 4
6 OOB 2020-03-06 390.00 20
Мой код:
data = [go.Bar(x=df['S2PName-Category'].unique(),
y=df[df['S2PName-Category']==category]['totSale'],
name = category) for category in df['S2PName-Category'].unique()]
layout = go.Layout(title='Category wise performance',
xaxis = dict(title = 'Categories', automargin = True),
yaxis = dict(tickprefix= '₹', tickformat=',.2f',type='log',autorange = True),
hovermode = 'closest',
plot_bgcolor = colors['background'],
paper_bgcolor = colors['background'],
font = dict(color = colors['text'])
)
Мой график:
Только напитки из категории ('S2PName-Category'), заполняется по оси x, остальные не заполняются. Кто-нибудь может указать, что пошло не так, и как это решить? Спасибо!
ПРОБНАЯ ВЕРСИЯ 2: Я пробовал другие возможности: из-за понимания списка моя гистограмма сгруппирована, есть ли способ получить уникальные категории для построения?
Код:
data = [go.Bar(x=df['S2PName-Category'],
y=df['totSale'],
name = category) for category in df['S2PName-Category'].unique()]
layout = go.Layout(title='Category wise performance',
xaxis = dict(title = 'Categories', automargin = True),
yaxis = dict(tickprefix= '₹', tickformat=',.2f',type='log',autorange = True),
hovermode = 'closest',
plot_bgcolor = colors['background'],
paper_bgcolor = colors['background'],
font = dict(color = colors['text'])
)
График Op: