如何使用plotly将pandas Dataframe绘制为饼图

问题描述 投票:0回答:1

我能够使用熊猫找到数量和百分比。但是,当我尝试嘲笑时,我只会看到一个空的HTML页面。请协助将以下数据框绘制为饼图。

Python代码

import pandas as pd
import plotly.graph_objects as go
import plotly.offline as py
df = pd.read_excel('data/master.xlsx')

#Commercials ISTQB foundation data
df_commercials=df[(df['Domain']=='Commercials')]
ds=df_commercials['ISTQB Foundation']
count = ds.value_counts()
print(count)
print()
print("=================================================")
percent = ds.value_counts(normalize=True)

istqbF_series = round((percent*100),2).astype(str)+'%'
istqbF_df = pd.DataFrame({'ISTQB Foundation':istqbF_series.index,'percentage':istqbF_series.values})

print(istqbF_df)
print()
labels = istqbF_df['ISTQB Foundation']
values = istqbF_df['percentage']


# trace = go.Pie(labels=labels, values=values)
# fig = go.Figure(data=[go.Pie(labels=labels, values=values)])
#
#
# py.plot(fig, filename='ISTQB_Foundation_pie_chart.html')

输出:

enter image description here

我想以饼图的形式绘制输出,将鼠标悬停在要显示的计数上(ISTQB基础与百分比)。

我尝试在网上搜索了好几天,最终没有一个指导我的指南。非常感谢您的协助

python pandas plotly pie-chart
1个回答
0
投票

这里您可能会遇到错误,因为您的两列都是分类的(字符串)。尝试如下

import plotly.offline as py
from plotly.graph_objs import Pie, Layout,Figure

percent = ds.value_counts(normalize=True).mul(100).round(2)


_layout = Layout(title='ISTQB_Foundation')
_data = Pie(labels=percent.index.tolist(),values=percent.values.tolist())
fig = Figure(data=[_data], layout=_layout)

# save html file to local
py.plot(fig,filename='ISTQB_Foundation_pie_chart.html')
© www.soinside.com 2019 - 2024. All rights reserved.