In [33]:
import sticky
import pandas as pd
from IPython.core.display import display, Javascript
from IPython.html.widgets import interact
sticky.initialize_notebook()
In [34]:
mic = sticky.Micropolar(height=250, width=250)
mic.plot()
In [35]:
dat = {
'data_1': [
{"year": 1991, "name":"alpha", "value": 15},
{"year": 1992, "name":"alpha", "value": 20},
{"year": 1994, "name":"alpha", "value": 30},
{"year": 1995, "name":"alpha", "value": 60},
{"year": 1993, "name":"beta", "value": 40},
{"year": 1994, "name":"beta", "value": 60},
{"year": 1995, "name":"beta", "value": 10},
{"year": 1994, "name":"gamma", "value": 35},
{"year": 1995, "name":"gamma", "value": 40}
],
'data_2': [
{"year": 1991, "name":"alpha", "value": 30},
{"year": 1992, "name":"alpha", "value": 20},
{"year": 1994, "name":"alpha", "value": 50},
{"year": 1995, "name":"alpha", "value": 60},
{"year": 1993, "name":"beta", "value": 32},
{"year": 1994, "name":"beta", "value": 60},
{"year": 1995, "name":"beta", "value": 56},
{"year": 1994, "name":"gamma", "value": 19},
{"year": 1995, "name":"gamma", "value": 40}
],
'data_3': [
{"year": 1991, "name":"alpha", "value": 20},
{"year": 1992, "name":"alpha", "value": 30},
{"year": 1994, "name":"alpha", "value": 40},
{"year": 1995, "name":"alpha", "value": 60},
{"year": 1993, "name":"beta", "value": 10},
{"year": 1994, "name":"beta", "value": 40},
{"year": 1995, "name":"beta", "value": 35},
{"year": 1994, "name":"gamma", "value": 45},
{"year": 1995, "name":"gamma", "value": 20}
]
}
area_chart = (sticky.d3Plus()
.stacked_area(width=1000, height=500)
.data(dat['data_1'])
.key('name')
.x('year')
.y('value'))
area_chart.plot()
In [36]:
line_chart = (sticky.d3Plus()
.line(width=1000, height=500)
.data(dat['data_1'])
.key('name')
.x('year')
.y('value'))
line_chart.plot()
@interact
def update_chart(data=['data_1', 'data_2', 'data_3']):
line_chart.update(data=dat[data])
In [37]:
dat2 = {
'data_1': [
{"value": 100, "weight": .45, "name": "alpha", "group": "group 1"},
{"value": 70, "weight": .60, "name": "beta", "group": "group 2"},
{"value": 40, "weight": -.2, "name": "gamma", "group": "group 2"},
{"value": 15, "weight": .1, "name": "delta", "group": "group 2"},
{"value": 5, "weight": -.43, "name": "epsilon", "group": "group 1"},
{"value": 1, "weight": 0, "name": "zeta", "group": "group 1"}
],
'data_2': [
{"value": 100, "weight": .45, "name": "alpha", "group": "group 1"},
{"value": 87, "weight": .60, "name": "beta", "group": "group 1"},
{"value": 79, "weight": -.2, "name": "gamma", "group": "group 1"},
{"value": 88, "weight": .1, "name": "delta", "group": "group 1"},
{"value": 5, "weight": -.43, "name": "epsilon", "group": "group 2"},
{"value": 1, "weight": 0, "name": "zeta", "group": "group 2"},
{"value": 15, "weight": .45, "name": "alpha", "group": "group 2"},
{"value": 7, "weight": .60, "name": "beta", "group": "group 2"},
{"value": 40, "weight": -.2, "name": "gamma", "group": "group 3"},
{"value": 45, "weight": .1, "name": "delta", "group": "group 3"},
{"value": 55, "weight": -.43, "name": "epsilon", "group": "group 3"},
{"value": 60, "weight": 0, "name": "zeta", "group": "group 3"}
]
}
grouped_scatter = (sticky.d3Plus()
.grouped_scatter(groupby="group",
width=1000, height=500)
.data(dat2['data_1'])
.key('name')
.x('value')
.y('weight'))
grouped_scatter.plot()
@interact
def update_chart(data=['data_1', 'data_2']):
grouped_scatter.update(data=dat2[data])
In [12]:
ws = pd.read_table('CO_WS_2011_2012.txt')
ws['Date & Time Stamp'] = pd.to_datetime(ws['Date & Time Stamp'])
subset = ws[['Date & Time Stamp', 'WS1_50mMean',
'WS2_50mMean', 'WS3_30mMean', 'WS4_40mMean']][:10]
molten = pd.melt(subset, id_vars=['Date & Time Stamp'])
# I'm sure there's some nice chart I can create here...