在数据框/数据透视表中以图形/虚线创建饼图

时间:2018-06-22 13:45:17

标签: python pandas plotly plotly-dash

这是我的代码,作为快速说明,我正在过滤数据框以选择正确的KPI,在这种情况下,是操作员份额,正确的国家/地区,该国家/地区预先存储在变量国家/地区和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),
    )

}

具有规格的数据透视表具有标头和KPI值作为其值。

我想要一个饼图,它使用“规格”作为标签,并使用KPIvalues作为值。

但是由于某种原因,它无法正常工作。

2 个答案:

答案 0 :(得分:1)

import plotly.express as px

fig = px.pie(df, values='numeric_value', names='column_name', title='Your title')

fig.show()

答案 1 :(得分:0)

您试图打个电话吗? 例如:

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')
相关问题