In [1]:
from __future__ import absolute_import, print_function
In [2]:
from bokeh.document import Document
from bokeh.session import Session
document = Document()
session = Session()
session.use_doc('table_server')
session.load_document(document)
In [3]:
import pandas as pd
from six.moves import cStringIO as StringIO
antibiotics = """\
bacteria, penicillin, streptomycin, neomycin, gram
Mycobacterium tuberculosis, 800, 5, 2, negative
Salmonella schottmuelleri, 10, 0.8, 0.09, negative
Proteus vulgaris, 3, 0.1, 0.1, negative
Klebsiella pneumoniae, 850, 1.2, 1, negative
Brucella abortus, 1, 2, 0.02, negative
Pseudomonas aeruginosa, 850, 2, 0.4, negative
Escherichia coli, 100, 0.4, 0.1, negative
Salmonella (Eberthella) typhosa, 1, 0.4, 0.008, negative
Aerobacter aerogenes, 870, 1, 1.6, negative
Brucella antracis, 0.001, 0.01, 0.007, positive
Streptococcus fecalis, 1, 1, 0.1, positive
Staphylococcus aureus, 0.03, 0.03, 0.001, positive
Staphylococcus albus, 0.007, 0.1, 0.001, positive
Streptococcus hemolyticus, 0.001, 14, 10, positive
Streptococcus viridans, 0.005, 10, 40, positive
Diplococcus pneumoniae, 0.005, 11, 10, positive
"""
data = pd.read_csv(StringIO(antibiotics), skipinitialspace=True)
In [4]:
from bokeh.widgetobjects import HandsonTable, TableColumn
from bokeh.objects import ColumnDataSource
source = ColumnDataSource(data=data)
columns = [
TableColumn(data="bacteria", type="text", header="Bacteria"),
TableColumn(data="penicillin", type="numeric", header="Penicillin"),
TableColumn(data="streptomycin", type="numeric", header="Streptomycin"),
TableColumn(data="neomycin", type="numeric", header="Neomycin"),
TableColumn(data="gram", type="autocomplete", source=["negative", "positive"], header="Gram"),
]
data_table = HandsonTable(source=source, columns=columns)
document.add(data_table)
In [5]:
session.store_document(document)
In [6]:
session.show(data_table)
In [ ]: