【发布时间】:2021-06-17 18:36:53
【问题描述】:
我正在尝试使用 plotly dash 在我的网络应用程序上显示饼图,但使用 @app.callback 显示以下错误
Traceback (most recent call last):
File "D:\PRESONAL DATA\FROSK CODING\untitled3.py", line 84, in <module>
main()
File "D:\PRESONAL DATA\FROSK CODING\untitled3.py", line 72, in main
pie_chart()
File "C:\Users\HP\anaconda3\lib\site-packages\dash\dash.py", line 1006, in add_context
output_spec = kwargs.pop("outputs_list")
KeyError: 'outputs_list'
我尝试了一切无法理解该怎么做 这是代码:-
project_name = None
bs = 'https://cdn.jsdelivr.net/npm/bootswatch@4.5.2/dist/slate/bootstrap.min.css'
app = dash.Dash(external_stylesheets=[bs], suppress_callback_exceptions=True)
# Defining My Functions
def load_model():
global scrappedReviews
scrappedReviews = pd.read_csv('balanced_reviews.csv')
global pickle_model
file = open("model_pickle.pkl", 'rb')
pickle_model = pickle.load(file)
global vocab
file = open("vocab_pickle.pkl", 'rb')
vocab = pickle.load(file)
def check_review(reviewText):
transformer = TfidfTransformer()
loaded_vec = CountVectorizer(decode_error="replace",vocabulary=vocab)
vectorised_review = transformer.fit_transform(loaded_vec.fit_transform([reviewText]))
return pickle_model.predict(vectorised_review)
def open_browser():
webbrowser.open_new('http://127.0.0.1:8050/')
def create_app_ui():
main_layout = html.Div(
[
html.H1(id='main_title', children='Chech Emotions'),
html.Div(
dcc.Graph(id='graph')
),
dbc.Input(
id='textarea_review',
placeholder = 'Enter the review here....',
type = "text",
style = {'width':'50%', 'height':50}
),
html.H1(id='result', children=None)
]
)
return main_layout
@app.callback(
Output('graph', 'figure')
)
def pie_chart():
df = pd.read_csv('prediction.csv')
piechart = go.pie(
data_frame=dff,
values='status',
names='predictions'
)
return piechart
@app.callback(
Output('result', 'children' ),
[
Input('textarea_review', 'value' )
]
)
def update_app_ui(textarea_value):
print('Data Type of ', str(type(textarea_value)))
print('Value = ', str(textarea_value) )
response = check_review (textarea_value)
print('response = ', response)
if (response[0] == 0):
result1 = 'Negative'
elif (response[0] == 1):
result1 = 'Positive'
else:
result1 = 'Unknown'
return result1
# Main Function to control the Flow of your Project
def main():
print("Start of my project")
load_model()
open_browser()
global project_name
global scrappedReviews
global app
project_name = "Sentiment Analysis with Insights"
app.title = project_name
pie_chart()
app.layout = create_app_ui()
app.run_server()
print("End of my project")
project_name = None
scrappedReviews = None
app = None
# Calling the main function
if __name__ == '__main__':
main()
prediction.csv 包含 2 列预测 = {0, 1}*4520 和状态 = {'Positive', 'Negative'}*4520 任何指导肯定会有所帮助
【问题讨论】:
标签: python-3.x pandas dataframe plotly-dash