In [ ]:
from collections import OrderedDict
import pandas as pd
from bokeh.charts import Scatter, output_notebook, show
from bokeh.sampledata.iris import flowers
output_notebook()
In [ ]:
setosa = flowers[(flowers.species == "setosa")][["petal_length", "petal_width"]]
versicolor = flowers[(flowers.species == "versicolor")][["petal_length", "petal_width"]]
virginica = flowers[(flowers.species == "virginica")][["petal_length", "petal_width"]]
xyvalues = OrderedDict([
("setosa", setosa.values),
("versicolor", versicolor.values),
("virginica", virginica.values)
])
In [ ]:
scatter = Scatter(
xyvalues, title="iris dataset, dict input",
xlabel="petal_length", ylabel="petal_width", legend='top_left')
show(scatter)
In [ ]:
groupped_df = flowers[["petal_length", "petal_width", "species"]].groupby("species")
scatter = Scatter(
groupped_df, title="iris dataset, grouped pandas input",
xlabel="petal_length", ylabel="petal_width", legend='top_left')
show(scatter)
In [ ]:
pdict = OrderedDict()
for i in groupped_df.groups.keys():
labels = groupped_df.get_group(i).columns
xname = labels[0]
yname = labels[1]
x = getattr(groupped_df.get_group(i), xname)
y = getattr(groupped_df.get_group(i), yname)
pdict[i] = list(zip(x, y))
In [ ]:
df = pd.DataFrame(pdict)
scatter = Scatter(
df, title="iris dataset, pandas input",
xlabel="petal_length", ylabel="petal_width", legend='top_left')
show(scatter)
In [ ]:
scatter = Scatter(
list(xyvalues.values()), title="iris dataset, list input",
xlabel="petal_length", ylabel="petal_width", legend='top_left')
show(scatter)
In [ ]:
from blaze import Data
b = Data(df)
scatter = Scatter(b, title="iris dataset, dict_input", xlabel="petal_length",
ylabel="petal_width", legend='top_left')
show(scatter)
In [ ]: