Dear all,
I wanted to try live streaming with Dash, using Jena Climate dataset.
Here’s my code:
import dash
import dash_html_components as html
import dash_core_components as dcc
import pandas as pd
from dash.dependencies import Input, Output, State, Event
import os
import sqlite3
import pandas as pd
import plotly.plotly as py
from plotly.graph_objs import *app = dash.Dash(‘wind-speed-app’)
server = app.serverapp.layout = html.Div([html.Div([html.H2(“Wind Speed Streaming”)], className=‘banner’),
html.Div([html.Div([html.H3(“Wind Speed (m/s)”)], className=‘Title’),
html.Div([dcc.Graph(id=‘wind-speed’)], className=‘column wind-speed’),
dcc.Interval(id=‘wind-speed-update’,interval = 1000, n_intervals =0)
],className = ‘row wind-speed-row’)
])
@app.callback(Output(‘wind-speed’,‘figure’),
[Input(‘wind-speed-update’,‘n_intervals’)])
def gen_wind_speed(interval):
con = sqlite3.connect(“jena-climate.db”)
df = pd.read_sql_query(“SELECT wind_velocity from Jena_Climate”, con)
trace = Scatter(y=df[‘wind_velocity’],
line = Line(color = ‘#42C4F7’),
hoverinfo = ‘skip’,
mode = ‘lines’)
layout = Layout(height = 450,
xaxis=dict(range=[0,240],
showgrid=False,
showline=False,
zeroline=False,
fixedrange=True,
tickvals=[0, 60, 120, 180, 240],
ticktext=[‘240’, ‘180’, ‘120’, ‘60’, ‘0’],
title=‘Time elapsed (every 10 minutes)’),
yaxis=dict(range=[min(0, min(df[‘Speed’])), max(30, max(df[‘Speed’]))],showline=False,fixedrange=True,zeroline=False),
margin=Margin(t=45,l=50,r=50))
return Figure(data=[trace],layout=layout)
external_css = [“https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css”,
“https://cdn.rawgit.com/plotly/dash-app-stylesheets/737dc4ab11f7a1a8d6b5645d26f69133d97062ae/dash-wind-streaming.css”,
“https://fonts.googleapis.com/css?family=Raleway:400,400i,700,700i”,
“https://fonts.googleapis.com/css?family=Product+Sans:400,400i,700,700i”]for css in external_css:
app.css.append_css({“external_url”: css})if ‘DYNO’ in os.environ:
app.scripts.append_script({
‘external_url’: ‘https://cdn.rawgit.com/chriddyp/ca0d8f02a1659981a0ea7f013a378bbd/raw/e79f3f789517deec58f41251f7dbb6bee72c44ab/plotly_ga.js’
})if name == ‘main’:
app.run_server(debug=True)
`
Anyone know where it went wrong? I dont know why the data doesnt appear… Any help is appreciated… Thanks