使用Pandas DataFrame的饼图

时间:2018-08-21 03:56:39

标签: python pandas plotly python-3.6

我正在使用Jupyter笔记本,该笔记本在离线模式下绘制条形图没有问题。

我通过读取CSV文件获得了一个Pandas数据框,我想在Plotly(离线模式)中快速创建一个饼图。

如果省略,则绘制饼图值(https://plot.ly/python/reference/#pie-values)对标签进行计数。那就是我所希望的。我想直接从我的熊猫数据框中设置饼图标签(https://plot.ly/python/reference/#pie-labels)。

我的代码:

import plotly as py
import plotly.graph_objs as go
import pandas as pd
from plotly.offline import init_notebook_mode

init_notebook_mode()

df2 = pd.read_csv("./testdata.csv")

trace = go.Pie(
    labels= df2["Vendor"]
)

py.offline.plot(trace, filename='pdq_pie_chart.html')

尝试此操作时出现错误:

PlotlyError: The `figure_or_data` positional argument must be `dict`-like, `list`-like, or an instance of plotly.graph_objs.Figure

我在比赛开始前错过了什么吗?我故意不使用任何格式设置选项,而是希望使用尽可能少的代码从数据框中生成饼图。

1 个答案:

答案 0 :(得分:2)

您需要使用labels and values参数来绘制饼图。 此示例将用于绘制饼图。

labels = df2['Vendor'].value_counts().index
values = df2['Vendor'].value_counts().values

trace = go.Pie(labels=labels, values=values)

py.iplot([trace], filename='basic_pie_chart')