# coding: utf-8
#
#
#
#
#
#
# |
#
# Bokeh Tutorial
# |
#
#
# 00. Introduction and Setup
# # Table of Contents
#
# * [Tuturial Overview](#Tutorial-Overview)
# * [What is Bokeh](#What-is-Bokeh)
# * [What can I *do* with Bokeh](#What-can-I-do-with-Bokeh)
# * [How does it work](#How-does-it-work)
# * [Getting set up](#Getting-set-up)
# ## Tutorial Overview
#
# The tutorial is broken into several sections, which are each presented in their own notebook:
#
# 1. [Basic Plotting Interface](01 - plotting.ipynb)
#
# 2. [Column Data Sources](02 - column data source.ipynb)
#
# 3. [Layouts, Widgets, and Interactions](03 - interactions.ipynb)
#
# 4. [Styling Visual Attributes](04 - styling.ipynb)
#
# 5. [Data Transformations](05 - data transformations.ipynb)
#
# 6. [Bokeh Applications](06 - server.ipynb)
#
# 7. [Sharing and Embedding](07 - sharing.ipynb)
#
# 8. [Annotations](08 - annotations.ipynb)
#
# 9. [Models and Primitives](09 - models.ipynb)
#
# 10. [High Level Charts](10 - charts.ipynb)
#
# 11. [Geographic Data](11 - geo.ipynb)
#
# 12. [Datashader: Visualizaing Large Data](12 - datashader.ipynb)
#
# 13. [HoloViews and Bokeh](13- holoviews.ipynb)
#
# Appendices
#
# 1. [Extra Bokeh Topics](A1 - Extra Resources.ipynb)
# ## What is Bokeh
#
# Bokeh is a Data Visualization library for
#
# * interactive visualization in modern browsers
# * standalone HTML documents, or server-backed apps
# * capable of expressive and verstatile graphics
# * can handle large, dynamic or streaming data
# * available from python (or Scala, or R, or Julia, or...)
#
# And most importantly:
#
# ## NO JAVASCRIPT REQUIRED
# ## What can you *do* with Bokeh
# In[1]:
# Standard imports
from bokeh.io import output_notebook, show
output_notebook()
# In[2]:
# Plot a complex chart in a single line
from bokeh.charts import Histogram
from bokeh.sampledata.iris import flowers as data
hist = Histogram(data, values="petal_length", color="species", legend="top_right", bins=12)
show(hist)
# In[3]:
# Build and serve beautiful web-ready interactive visualizations
import utils
p = utils.get_gapminder_plot()
show(p)
# In[4]:
# Create and deploy interactive data applications
from IPython.display import IFrame
IFrame('http://demo.bokehplots.com/apps/sliders', width=900, height=500)
# # How does it work
#
# # Getting set up
# In[5]:
from IPython.core.display import Markdown
Markdown(open("README.md").read())
# Setup-test, run the next cell. Hopefully you should see output that looks something like this:
#
# IPython - 5.1.0
# Pandas - 0.18.1
# Bokeh - 0.12.2
#
# If this isn't working for you, see the [`README.md`](README.md) in this directory.
# In[6]:
from IPython import __version__ as ipython_version
from pandas import __version__ as pandas_version
from bokeh import __version__ as bokeh_version
print("IPython - %s" % ipython_version)
print("Pandas - %s" % pandas_version)
print("Bokeh - %s" % bokeh_version)