ipywidgets图形控件实现

2024-03-29 02:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

再见

我已经做了一整天了。我正在尝试在我的Jupyter(ipython)笔记本上添加小部件。下面是我的代码,在我的头脑中是有意义的,但它没有填充任何东西。我试图通过一个小部件来控制StatusesList中的值列表,以便它更改填充的图形。请帮忙。在

from plotly import __version__
from plotly.offline import download_plotlyjs, init_notebook_mode, iplot
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.graph_objs import *
import numpy as np
import cufflinks as cf
init_notebook_mode()
cf.go_offline()
import pandas as pd
cf.set_config_file(theme='pearl')
from __future__ import print_function
from ipywidgets import interact, interactive, fixed
import pandas as pd
import ipywidgets as widgets
from IPython.display import display

df = pd.read_excel("C:\Users\UserName\Downloads\Complaints Management.xlsx")
df_status = df[['Status', 'Member Number']].groupby('Status').count()

StatusesList = df_status.index.tolist()

GragphValueList = df_status["Member Number"].tolist()
# w = Output()

def f(x):
    x = StatusesList
    return x
    interact(f, x = StatusesList)


    fig_status = {
    'data': [{'labels': x,
    'values': GragphValueList,
    'type': 'pie'}],
    'layout': {'title': 'Complaints by status'}
    }

    iplot(fig_status)

file sample


Tags: fromimportdfinit部件modeasstatus
1条回答
网友
1楼 · 发布于 2024-03-29 02:17:25

我想你是在寻找这种互动方式,对吧?在

by_list = ['Priority', 'Status', 'Deadline', 'Query Category'] #df.keys().tolist()

@interact(x = by_list )
def f(x):
    df_data = df[[x, 'Member Number']].groupby(x).count()
    fig_status = {
    'data': [{'labels': df_data.index.tolist(),
    'values': df_data["Member Number"].tolist(),
    'type': 'pie'}],
    'layout': {'title': 'Complaints by %s' % x}
    }

    iplot(fig_status)

您可以通过添加或删除与Excel中字段对应的字符串来控制by_list。也可以使用df.keys().tolist()获取所有字段,但这可能有点不稳定。在

谢谢你给我演示的图文并茂,我以前没听说过/看过它,但它可以生成一些漂亮的(交互式)统计图!在

enter image description hereenter image description here

相关问题 更多 >