У меня есть кадр данных pandas с тремя столбцами:
scores weight x
0 5.000000 0.163265 bws
1 5.000000 0.163265 bwd
2 3.085501 0.020408 iav
3 1.208879 0.020408 sev
4 0.000000 0.040816 cfr
5 0.442407 0.040816 rfr
6 1.447025 0.081633 drr
7 NaN NaN gtd
8 0.634083 0.081633 ucw
9 1.233896 0.040816 cep
10 0.000000 0.081633 udw
11 0.000000 0.081633 usa
12 0.600000 0.020408 rri
Цель состоит в том, чтобы создать гистограмму.Гистограмма должна содержать 13 баров (по одному на каждый х).Высота каждого бара должна быть основана на счете.ширина каждого стержня должна основываться на весе.В идеале столбики должны «касаться» друг друга, поэтому легко определить относительный вклад столбцов.
Решение для Plotly (было бы замечательно, мне нужно поделиться этими диаграммами с командой и графически можно разместить диаграммы (обмениваться URL-адресами))
import plotly.plotly as py
import plotly.graph_objs as go
data = [
go.Bar(
x=df['x'], # assign x as the dataframe column 'x'
y=df['scores'],
width=df["weight"]*10
)
]
layout = go.Layout(
barmode='stack',
bargap=0,
title='Stacked Bar with Pandas'
)
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='pandas-bar-chart-layout')
Я пытался настроитьзначения width и dx объектов Bar и Layout, но они принимают только целые числа или числа с плавающей запятой.Как настроить ширину каждого медвежьего прицела на свойстве «вес» в кадре данных?
ширина стержня должна основываться на весе и касаться друг друга без пробелов между ними.