# # Simple Tick Data Plotter with ZeroMQ & http://plot.ly # import zmq import datetime import plotly.plotly as ply from plotly.graph_objs import * import configparser # credentials c = configparser.ConfigParser() c.read('../pyalgo.cfg') stream_ids = c['plotly']['api_tokens'].split(',') # socket context = zmq.Context() socket = context.socket(zmq.SUB) socket.connect('tcp://127.0.0.1:5555') socket.setsockopt_string(zmq.SUBSCRIBE, '') # plotting s = Stream(maxpoints=100, token=stream_ids[0]) tr = Scatter(x=[], y=[], name='tick data', mode='lines+markers', stream=s) d = Data([tr]) l = Layout(title='EPAT Tick Data Example') f = Figure(data=d, layout=l) ply.plot(f, filename='epat_example', auto_open=True) st = ply.Stream(stream_ids[0]) st.open() while True: msg = socket.recv_string() t = datetime.datetime.now() print(str(t) + ' | ' + msg) sym, value = msg.split() st.write({'x': t, 'y': float(value)})