# coding: utf-8 # In[ ]: from bokeh.sampledata.autompg import autompg as df from bokeh.sampledata.olympics2014 import data from bokeh.sampledata.iris import flowers from bokeh.charts import Scatter, output_notebook, show from bokeh.charts.operations import blend from bokeh.charts.utils import df_from_json import pandas as pd # In[ ]: output_notebook() # In[ ]: scatter0 = Scatter( df, x='mpg', title="x='mpg'", xlabel="Miles Per Gallon") show(scatter0) # In[ ]: scatter1 = Scatter( df, x='mpg', y='hp', title="x='mpg', y='hp'", xlabel="Miles Per Gallon", ylabel="Horsepower", legend='top_right') show(scatter1) # In[ ]: scatter2 = Scatter( df, x='mpg', y='hp', color='cyl', title="x='mpg', y='hp', color='cyl'", xlabel="Miles Per Gallon", ylabel="Horsepower", legend='top_right') show(scatter2) # In[ ]: scatter3 = Scatter( df, x='mpg', y='hp', color='origin', title="x='mpg', y='hp', color='origin'", xlabel="Miles Per Gallon", ylabel="Horsepower", legend='top_right') show(scatter3) # In[ ]: scatter4 = Scatter( df, x='mpg', y='hp', color='cyl', marker='origin', title="x='mpg', y='hp', color='cyl', marker='origin'", xlabel="Miles Per Gallon", ylabel="Horsepower", legend='top_right') show(scatter4) # ## Example with nested json/dict like data, which has been pre-aggregated and pivoted # In[ ]: df2 = df_from_json(data) df2 = df2.sort('total', ascending=False) df2 = df2.head(10) df2 = pd.melt(df2, id_vars=['abbr', 'name']) scatter5 = Scatter( df2, x='value', y='name', color='variable', title="x='value', y='name', color='variable'", xlabel="Medals", ylabel="Top 10 Countries", legend='bottom_right') show(scatter5) # ## Use blend operator to "stack" variables # In[ ]: scatter6 = Scatter(flowers, x=blend('petal_length', 'sepal_length', name='length'), y=blend('petal_width', 'sepal_width', name='width'), color='species', title='x=petal_length+sepal_length, y=petal_width+sepal_width, color=species', legend='top_right') show(scatter6)