gpt4 book ai didi

python - 无法读取 null 的属性 'data ' (DASH)

转载 作者:行者123 更新时间:2023-12-04 12:05:46 24 4
gpt4 key购买 nike

当我运行下面的代码时,它会加载网络,但随后会留下一条错误消息,这是因为在某些部分没有数据,可以输入 有条件帮助?

issue

我上传了代码,但我不知道在哪里操作,我是 Dash 的新手,我对 javascript 的了解有限。

我的主文件

import dash
from dash.dependencies import Output, Input
import dash_core_components as dcc
import dash_html_components as html
import plotly
import random
import plotly.graph_objs as go
from collections import deque
import sqlite3
import pandas as pd

#popular topics: google, olympics, trump, gun, usa

app = dash.Dash(__name__)
app.layout = html.Div(
[ html.H2('Live Twitter Sentiment'),
dcc.Input(id='sentiment_term', value='trump', type='text'),
dcc.Graph(id='live-graph', animate=False),
dcc.Interval(
id='graph-update',
interval=1*1000
),
]
)


@app.callback(Output('live-graph', 'figure'),
[Input(component_id='sentiment_term', component_property='value')])


def update_graph_scatter(sentiment_term):
try:
conn = sqlite3.connect('twitter.db')
c = conn.cursor()
df = pd.read_sql("SELECT * FROM sentiment WHERE tweet LIKE ? ORDER BY unix DESC LIMIT 1000", conn, params=('%' + sentiment_term + '%',))
df.sort_values('unix', inplace=True)
df['sentiment_smoothed'] = df['sentiment'].rolling(int(len(df)/5)).mean()
df.dropna(inplace=True)

X = df.unix.values[-100:]
Y = df.sentiment_smoothed.values[-100:]

data = plotly.graph_objs.Scatter(
x=X,
y=Y,
name='Scatter',
mode= 'lines+markers'
)

return {'data': [data],'layout' : go.Layout(xaxis=dict(range=[min(X),max(X)]),
yaxis=dict(range=[min(Y),max(Y)]),
title='Term: {}'.format(sentiment_term))}

except Exception as e:
with open('errors.txt','a') as f:
f.write(str(e))
f.write('\n')


if __name__ == '__main__':
app.run_server(debug=True)

最佳答案

有时,如果由回调更新的 Prop 尚未初始化,则 Dash 可能会遇到困难。在这种情况下,figure dcc.Graph的 Prop 从未被宣布。设置显式空值,例如 figure={}通常足以解决此类错误。

关于python - 无法读取 null 的属性 'data ' (DASH),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62183202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com