Premiers pas avec le bokeh

Installer Bokeh

Documents sur l’installation de Bokeh

Bokeh fonctionne sur Python, il a les dépendances suivantes ;

NumPy, Jinja2, Six, Requêtes, Tornado >= 4.0, PyYaml, DateUtil

Si vous envisagez d’installer avec Python 2.7, vous aurez également besoin de “future”.

Tous ceux-ci sont livrés avec [Anaconda Python Distribution] (https://www.continuum.io/downloads). Que vous pouvez télécharger et installer gratuitement.

Une fois que vous avez installé anaconda sur votre machine, vous pouvez simplement exécuter ce qui suit dans cmd.exe sous Windows ou dans le terminal sur Mac :

conda install bokeh

Si vous avez déjà une version de Python, vous pouvez exécuter ce qui suit dans cmd.exe sous Windows ou dans le terminal sur Mac :

pip install bokeh

Assurez-vous de consulter le [guide de démarrage rapide] de Bokeh (http://bokeh.pydata.org/en/latest/docs/user_guide/quickstart.html#jupyter-notebooks) pour plusieurs exemples.

Utilisation de Bokeh dans Jupyter Notebook

Voici un exemple simple d’utilisation de Bokeh dans Jupyter Notebook :

import numpy as np
from bokeh.plotting import figure
# Make Bokeh Push push output to Jupyter Notebook.
from bokeh.io import push_notebook, show, output_notebook
from bokeh.resources import INLINE
output_notebook(resources=INLINE)

# Create some data.
x = np.linspace(0,2*np.pi,20)
y = np.sin(x)

# Create a new plot with a title and axis labels
p = figure(title="Simple Line Plot in Bokeh", x_axis_label='x', y_axis_label='y')

# Add a line renderer with legend and line thickness
p.line(x, y, legend="Value", line_width=3)

# Show the results
show(p)

Bonjour le monde

Pour utiliser bokeh, vous devez lancer un serveur bokeh et vous y connecter à l’aide d’un navigateur. Nous allons utiliser cet exemple de script (hello_world.py):

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
from bokeh.io import curdoc

def modify_doc(doc):
    """Add a plotted function to the document.

    Arguments:
        doc: A bokeh document to which elements can be added.
    """
    x_values = range(10)
    y_values = [x ** 2 for x in x_values]
    data_source = ColumnDataSource(data=dict(x=x_values, y=y_values))
    plot = figure(title="f(x) = x^2",
                  tools="crosshair,pan,reset,save,wheel_zoom",)
    plot.line('x', 'y', source=data_source, line_width=3, line_alpha=0.6)
    doc.add_root(plot)
    doc.title = "Hello World"

def main():
    modify_doc(curdoc())
    
main()

Pour le lancer, vous devez exécuter bokeh sur la ligne de commande et utiliser la commande serve pour lancer le serveur :

$ bokeh serve --show hello_world.py

Le paramètre --show indique à bokeh d’ouvrir une fenêtre de navigateur et d’afficher le document défini dans hello_world.py.