日安
我已经忙了一整天了。我正在尝试将小部件添加到我的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)
发布于 2016-03-09 19:50:10
我想你正在寻找这种类型的交互性,对吧?
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)
您可以通过添加或删除与by_list
中的字段相对应的字符串来控制Excel。也可以使用df.keys().tolist()
获取所有字段,但这可能有点不稳定。
PS。感谢你以情节的方式向我展示,我以前没有听说过/看过它,但它可以产生一些很好的(交互式)统计图表!
https://stackoverflow.com/questions/35435889
复制相似问题