我正在构建一个用于性能平衡变化的分析工具,为此我启动了一个仪表板。数据现在保存在一个 sql 数据库中,我通过下拉列表选择所需的值。 我的问题是条形图 - 如果汽车数量一致,就没问题。 如果我遇到第一个数据包较短(数据行较少)而其他数据包多 1-2 行的情况,则绘图不再正确。 这是有问题的数据:
data = {'Hom number':[51,38,53,56,54,52,42,50,55,51,38,53,44,56,54,52,42,50,55,51,38,53,44,56,54,52,42,50,55,51,38,53,44,56,54,52,42,50,55],
'make':['Aston Martin', 'Audi', 'BMW', 'Ferrari', 'Lamborghini', 'McLaren', 'Mercedes', 'Porsche', 'Porsche',
'Aston Martin', 'Audi', 'BMW', 'Ferrari', 'Ferrari','Lamborghini', 'McLaren', 'Mercedes', 'Porsche', 'Porsche',
'Aston Martin', 'Audi', 'BMW', 'Ferrari', 'Ferrari','Lamborghini', 'McLaren', 'Mercedes', 'Porsche', 'Porsche',
'Aston Martin', 'Audi', 'BMW', 'Ferrari', 'Ferrari','Lamborghini', 'McLaren', 'Mercedes', 'Porsche', 'Porsche'],
'model':['AMR GT3', 'R8LMS', 'M4 GT3', '296 GT3', 'Huracan GT3', '720GT3', 'AMG GT3', '911-991', '911-992',
'AMR GT3', 'R8LMS', 'M4 GT3', '488 GT3', '296 GT3', 'Huracan GT3', '720GT3', 'AMG GT3', '911-991', '911-992',
'AMR GT3', 'R8LMS', 'M4 GT3', '488 GT3', '296 GT3', 'Huracan GT3', '720GT3', 'AMG GT3', '911-991', '911-992',
'AMR GT3', 'R8LMS', 'M4 GT3', '488 GT3', '296 GT3', 'Huracan GT3', '720GT3', 'AMG GT3', '911-991', '911-992'],
'bop_date':['2023.04.13', '2023.04.13', '2023.04.13', '2023.04.13', '2023.04.13','2023.04.13', '2023.04.13', '2023.04.13', '2023.04.13',
'2023.04.19', '2023.04.19', '2023.04.19', '2023.04.19', '2023.04.19','2023.04.19', '2023.04.19', '2023.04.19', '2023.04.19', '2023.04.19',
'2023.04.22', '2023.04.22', '2023.04.22', '2023.04.22', '2023.04.22','2023.04.22', '2023.04.22', '2023.04.22', '2023.04.22', '2023.04.22',
'2023.04.23', '2023.04.23', '2023.04.23', '2023.04.23', '2023.04.23','2023.04.23', '2023.04.23', '2023.04.23', '2023.04.23', '2023.04.23'],
'bop_ballast':[25,55,50,45,0,50,60,50,40,
25,55,50,45,45,60,50,60,50,40,
15,65,40,35,25,50,35,75,45,30,
15,65,50,35,20,50,45,75,45,25]}
df = pd.DataFrame(data)
这是我要绘制的数据框之一:
fig_bal = px.bar(
df,
x='fia_gt3_homologation',
y='bop_ballast',
# barmode='group', # does not help
facet_row='bop_date', # goes right direction but splits into bop dcouments
# category_orders={'bop'},
template = "plotly_dark",
text="bop_ballast",
)
fig_bal.update_traces(x=[x[0]+' '+x[1] for x in df[['make','model']].values])
如果你一直关注数据,你会看到在我得到的第一个数据中,只有 1 辆法拉利,接下来的 3 个数据包各有 2 辆法拉利。 在图表中,我只看到第一辆法拉利,然后,将第二个数据包的 bop 权重绘制到错误的汽车上——我得到了第一个条目的堆叠图。
我有2个问题:
谢谢!
编辑!
在 r-beginners 的帮助下,现在我的情节更接近我想要的:
但我仍然错过了第二辆法拉利的参赛作品。