示例#1
0
    def plot(self,key,column=None,title=None):
        '''Convenience plotting with Wakari'''
        from webplot import p

        p.use_doc('TR Plots')

        
        p.figure()
        data = self.data[key]
        if isinstance(data,pd.core.series.TimeSeries):
            dates = data.index.values.astype('datetime64[ms]').astype('int64')
            fig = p.plot_dates(dates,data.values,title=title,width=500,height=300)
        else:
            dates = data.index.values.astype('datetime64[ms]').astype('int64')
            fig = p.plot_dates(dates,data[column].values,title=title,width=500,height=300)
        return fig
示例#2
0
    def plot(self, key, column=None, title=None):
        '''Convenience plotting with Wakari'''
        from webplot import p

        p.use_doc('TR Plots')

        p.figure()
        data = self.data[key]
        if isinstance(data, pd.core.series.TimeSeries):
            dates = data.index.values.astype('datetime64[ms]').astype('int64')
            fig = p.plot_dates(dates,
                               data.values,
                               title=title,
                               width=500,
                               height=300)
        else:
            dates = data.index.values.astype('datetime64[ms]').astype('int64')
            fig = p.plot_dates(dates,
                               data[column].values,
                               title=title,
                               width=500,
                               height=300)
        return fig
from webplot import p
p.use_doc('uefa')
from collections import Counter
import numpy as np

from wakaridata.sportstats import SportStats

sports = SportStats()

uefa_data = sports[sports.keys()[4]][:]

dob_months = [int(dob.split('-')[1]) for dob in uefa_data['DOB']]

mCount = Counter(dob_months)

for c in mCount:
    print c, mCount[c]

months = mCount.keys()
soccer = np.array(mCount.values())

p.plot(months,soccer,width=500, height=300,title='Number of Births per Month for UEFA 2012')

#http://www.cdc.gov/nchs/data/nvsr/nvsr60/nvsr60_01_tables.pdf#I02
#birth rates per month across USA 2009
US_Total_2009 = np.array([337980,316641,347803,337272,345257,346971,368450,359554\
                          ,361922,347625,320195,340995],dtype='float64')
                
p.figure()
p.plot(months,US_Total_2009,width=500, height=300,title='Totals Births per Month 2009 (USA)')
from webplot import p
import pandas
df = pandas.read_csv('auto-mpg.csv')
p.use_doc('cars')
source = p.model('PandasDataSource', df=df)
source.update()
p.pandastable(source)
p.figure()
p.scatter('mpg', 'weight', data_source=source)
p.figure()
p.scatter('mpg', 'yr', data_source=source)
#NOAA GLOBAL SUMMARY OF DAY (GSOD) EXAMPLE
#
#Plot two st
from webplot import p
p.use_doc('weather')
from wakaridata.weather import Weather
import numpy as np

from datetime import datetime

weather = Weather()
# Get list of dataset keys
keys = weather.keys()
# Get IOPro text adapter

#sampleList = ['weather/gsod/'+str(i)+'/279470-99999-'+str(i)+'.op' for i in range(2000,2010)]
stat_1 = 'weather/gsod/2008/085750-99999-2008.op'
stat_2 = 'weather/gsod/2008/279470-99999-2008.op'

#function to 
tomilli = (lambda x: int(datetime.strptime(str(x),'%Y%m%d').strftime('%s'))*1000)

adapter = weather[stat_1]
date_1 = adapter[:]['YEARMODA']
date_1 = np.array([tomilli(x) for x in adapter[:]['YEARMODA']])
temp_1 = adapter[:]['TEMP']

adapter = weather[stat_2]
date_2 = adapter[:]['YEARMODA']
date_2 = np.array([tomilli(x) for x in adapter[:]['YEARMODA']])
temp_2 = adapter[:]['TEMP']
from webplot import p
p.use_doc('nhl_analysis')
from collections import Counter
import numpy as np

from wakaridata.sportstats import SportStats

sports = SportStats()

nfl_data = sports[sports.keys()[2]][:]

dob_months = [int(dob.split('-')[1]) for dob in nfl_data['DOB']]

mCount = Counter(dob_months)

for c in mCount:
    print c, mCount[c]

months = mCount.keys()
nfl = np.array(mCount.values())

p.plot(months,nfl,title='Number of Births per Month for NFL')

#http://www.cdc.gov/nchs/data/nvsr/nvsr60/nvsr60_01_tables.pdf#I02
#birth rates per month across USA 2009
US_Total_2009 = np.array([337980,316641,347803,337272,345257,346971,
    368450,359554,361922,347625,320195,340995])
                
p.figure()
p.plot(months,US_Total_2009,title='Totals Births per Month 2009 (USA)')
#Example of 2D Ising model with Lattice state output

from webplot import p
p.use_doc('ising_model')
import numpy as np

L=10 #define square lattice size

T = 1.5 #temperature Tc = 2.269
I = 2*np.random.randint(2, size=(L,L))-1 #initalize random matrix (LxL) with [-1,1]

#define transition probabilites
w  = np.zeros(5) 
for i in range(5):
    dE = i*4 - 8;   #It makes mapping into -8,-4,0,4,8 from 0,1,2,3,4 
    w[i] = np.exp(-float(dE)/T);


#function to plot lattice
def plotLattice():
    p.figure()
    p.hold('on')
    sd = np.where(I==-1) #spin down
    su = np.where(I==1) #spin up
    l = str(L)
    p.scatter(sd[0],sd[1],color='black',title='2D Ising Model Size: '+l+'x'+l)
    p.scatter(su[0],su[1],color='blue')

#metropolis algorithm
def iterate():
    L = I.shape[0]
from webplot import p
p.use_doc('mlb_analysis')
from collections import Counter
import numpy as np

from wakaridata.sportstats import SportStats

sports = SportStats()

mlb_data = sports[sports.keys()[0]][:]

dob_months = [int(dob.split('-')[1]) for dob in mlb_data['DOB']]

mCount = Counter(dob_months)

for c in mCount:
    print c, mCount[c]

months = mCount.keys()
mlb = np.array(mCount.values())

p.plot(months,mlb,title='Number of Births per Month for MLB')

#http://www.cdc.gov/nchs/data/nvsr/nvsr60/nvsr60_01_tables.pdf#I02
#birth rates per month across USA 2009
US_Total_2009 = np.array([337980,316641,347803,337272,345257,346971,368450,359554 \
                          ,361922,347625,320195,340995],dtype='float64')
                
p.figure()
p.plot(months,US_Total_2009,title='Totals Births per Month 2009 (USA)')
from webplot import p
p.use_doc('webplot example')
import numpy as np
import datetime
import time
x = np.arange(100) / 6.0
y = np.sin(x)
z = np.cos(x)
data_source = p.make_source(idx=range(100), x=x, y=y, z=z)
p.plot(x, y, 'orange')
p.figure()
p.plot('x', 'y', color='blue', data_source=data_source, title='sincos')
p.plot('x', 'z', color='green')
p.figure()
p.plot('x', 'y', data_source=data_source)
p.figure()
p.plot('x', 'z', data_source=data_source)
p.figure()
p.table(data_source, ['x', 'y', 'z'])
p.scatter('x', 'y', data_source=data_source)
p.figure()
p.scatter('x', 'z', data_source=data_source)
p.figure()
p.hold(False)
p.scatter('x', 'y', 'orange', data_source=data_source)
p.scatter('x', 'z', 'red', data_source=data_source)
p.plot('x', 'z', 'yellow', data_source=data_source)
p.plot('x', 'y', 'black', data_source=data_source)
print "click on the plots tab to see results"
#Plots of potentially correlated pairs: 
# 
#
from webplot import p
p.use_doc('pairs')
from wakaridata.weather import Weather
import numpy as np

from datetime import datetime

from wakaridata.yahoofinance import Stocks
stocks = Stocks()

#convert date to milliseconds since the epoch
tomilli = (lambda x: int(datetime.strptime(x,'%Y-%m-%d').strftime('%s'))*1000)

def pairs_plot(st1,st2,length):
    
    adapter1 = stocks[st1][:length]
    adapter2 = stocks[st2][:length]
    
    dates =[tomilli(x) for x in adapter1['Date'][:]] 
    
    #plot the opening price of two stocks
    p.figure()
    p.plot(dates,adapter1['Open'][:],width=500, height=300,title=st1+' vs. '+ st2)
    p.plot(dates,adapter2['Open'][:],width=500, height=300)


#Pepsi and Coke
pairs_plot('pep','coke',500)
from webplot import p
p.use_doc('nba_analysis')
from collections import Counter
import numpy as np

from wakaridata.sportstats import SportStats

sports = SportStats()

nba_data = sports[sports.keys()[3]][:]

months = [int(dob.split('-')[1]) for dob in nba_data['DOB']]

mCount = Counter(months)

for c in mCount:
    print c, mCount[c]

months = mCount.keys()
nba = np.array(mCount.values())

p.plot(months,nba,title='Number of Births per Month for nba')

#http://www.cdc.gov/nchs/data/nvsr/nvsr60/nvsr60_01_tables.pdf#I02
#birth rates per month across USA 2009
US_Total_2009 = np.array([337980,316641,347803,337272,345257,346971,368450,359554\
                ,361922,347625,320195,340995],dtype='float64')
                
p.figure()
p.plot(months,US_Total_2009,title='Totals Births per Month 2009 (USA)')