Отсутствие данных на графике plotly
Я пытаюсь отобразить некоторые данные датчиков на графике plotly-dash с помощью django. Я заметил, что в некоторых сценариях данные не отображаются на графике и правильно отображаются только после уменьшения масштаба (см. ниже). В настоящее время я использую следующий код:
ambientTempApp = DjangoDash("ambientTemp")
ambientTempApp.layout = html.Div([dcc.Graph(id='tempGraph'),
dcc.Slider(
id="tempSlider",
marks={1: {'label': '1 Day'},
7: {'label': '1 Week'},
31: {'label': '1 Month'},
62: {'label': '2 Months'},
182: {'label': '6 Months'},
365: {'label': '1 year'}},
max=365,
min=1,
value=7,
step=1,
updatemode='mouseup'
), html.P(className="description-text", id='ambientOutput')])
@ambientTempApp.callback([Output('tempGraph', 'figure'), Output('ambientOutput', 'children')], [Input('tempSlider', 'value')])
def update_figure(value):
value *= 48
TIMESTAMPS = [datetime.datetime.fromtimestamp(x) for x in
self.dataTimestamps[::-1][:value]]
ambientTemp = self.dataAmbientTemp[::-1][:value]
fig = Figure(data=Scatter(x=TIMESTAMPS, y=ambientTemp, mode="lines+markers", name="Ambient Temperature"))
fig.update_layout(showlegend=False, transition_duration=250)
return fig, f"Displaying data from {str(TIMESTAMPS[-1]).split('.')[0].replace('-', '/').replace(' ', '-')} to {str(TIMESTAMPS[0]).split('.')[0].replace('-', '/').replace(' ', '-')}"
return None
Я подозреваю, что причина этого в том, что на графике не хватает места для отображения точек, когда они меньше изменяются. Есть ли переменная, которую я могу установить, чтобы игнорировать недостаток места и отображать данные в любом случае?
Перед уменьшением масштаба некоторые данные опускаются:
Затем они отображаются снова: