python - 从数据框/数据透视表中用 Plotly/Dash 创建饼图
问题描述
这是我的代码,作为快速解释,我正在过滤我的数据框以选择正确的 KPI,在本例中为 Operator Share,即正确的国家/地区,它预先存储在变量国家和 2017 年中。然后我想创建一个饼图使用不同规格的 KPI 值。因此,规范应该是标签,而 KPI 值应该是值。
df_plot_operator_share = df[df['Country'] == Country]
df_plot_operator_share = df.loc[(df['KPIname'].isin(['OperatorShare'])) & (df['YearNb']==2017)]
pv_operator_share = pd.pivot_table(
df_plot_operator_share,
index=['Specification'],
values=['KPIvalue'],
aggfunc=sum,
fill_value=0)
trace1 = go.Pie(
lables= pv_operator_share.index, values= pv_operator_share["KPIvalue"],
name='OperatorShare')
return {
'data': [trace1],
'layout':
go.Layout(
title='Country: {} Operator Share'.format(Country),
)
}
Pivot 的 Specifications 具有标头和 KPIvalues 作为其值。
我想要一个饼图,它使用规范作为标签,将 KPI 值作为值。
但由于某种原因,它不起作用。
解决方案
你试图阴谋打电话?例如:
import plotly
import plotly.plotly as py
import plotly.graph_objs as go
trace1 = go.Pie(
labels = pv_operator_share.index,
values= pv_operator_share["KPIvalue"],
name='OperatorShare'
)
data = [trace1]
layout = go.Layout(
title='Country: {} Operator Share'.format(Country),
)
fig = go.Figure(data=data, layout=layout)
plotly.offline.plot(fig, filename='Plot.html')
推荐阅读
- v8 - 如何为 v8::Object 分配名称以便脚本可以访问它?
- linux - 打印 tar.gz 中每个文件的第一行而不提取
- mysql - 在Mysql过程的循环中取select语句的并集?
- elasticsearch - 如何编写 Elasticsearch 无痛脚本以在索引中创建新文档并同时更新另一个索引的文档?
- java - SpringBoot - HttpMessageNotReadableException:JSON 解析错误:java.net.SocketTimeoutException
- r - 在 R 中将数字向量分箱到一组离散且不同(非重叠)的箱中,有间隙
- javascript - 自动添加日期
- r - 为什么与 MatchIt R 包的精确匹配会找到具有 2 个不同级别的分类变量的匹配对?
- swift - saveContext() 的工作差异取决于 viewController 的实例化。CoreData Enigma
- javascript - 如何在不完整的表单提交时隐藏成功的模式框