-
Notifications
You must be signed in to change notification settings - Fork 0
/
graphy.py
56 lines (39 loc) · 1.24 KB
/
graphy.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import pygal
import time
from Pubnub import Pubnub
pubnub = Pubnub(publish_key="pub-c-YOUR-PUBNUB-PUBLISH-KEY-HERE", subscribe_key="sub-c-YOUR-PUBNUB-SUBSCRIBE-KEY-HERE", ssl_on=False)
channel = 'YOUR-CHANNEL-NAME-HERE'
rawData = []
def callback(message, channel):
for item in message:
rawData.append(item)
def error(message):
print("ERROR : " + str(message))
def connect(message):
print("CONNECTED")
def reconnect(message):
print("RECONNECTED")
def disconnect(message):
print("DISCONNECTED")
pubnub.subscribe(channel, callback=callback, error=callback,
connect=connect, reconnect=reconnect, disconnect=disconnect)
dataCollectionInterval = 15
time.sleep(dataCollectionInterval)
pubnub.unsubscribe(channel=channel)
print "Raw data:"
print rawData
chartDataX = []
chartDataY = []
for time, item in enumerate(rawData):
chartDataX.append((time,item[0]))
chartDataY.append((time,item[1]))
print "chart data: "
print chartDataX
print chartDataY
xy_chart = pygal.XY(stroke=True)
xy_chart.title = 'X and Y vs Time'
xy_chart.add('X', chartDataX)
xy_chart.add('Y', chartDataY)
xy_chart.render_to_file('XY_chart.svg')
print "I'm done!"
quit()