In [35]:
from bokeh.plotting import *
from collections import OrderedDict
In [36]:
output_notebook()
In [37]:
#5 datasets (rows)
#8 buckets (columns)
buckets = ['AMOUNT', 'BUYER', 'TENDER TRACKING', 'TENDER FEATURES', 'AWARD TRACKING', 'AWARD FEATURES', 'SYSTEM', 'SUPPLIER']
datasets = ['Canada', 'Turkey', 'France', 'UK', 'Moldova']
data = [
('Canada', [1, 2, 1, 2, 1, 2, 1, 2]),
('Turkey', [2, 2, 2, 2, 0, 0, 1, 1]),
('France', [3, 2, 1, 3, 2, 1, 3, 2]),
('UK', [1, 1, 1, 0, 0, 0, 0, 1]),
('Moldova', [2, 3, 4, 1, 1, 2, 6, 9]),
]
In [38]:
x = []
y = []
radii = []
for i in xrange(len(datasets)):
for j in xrange(len(buckets)):
dataset = datasets[i]
bucket = buckets[j]
x.append(dataset)
y.append(bucket)
radii.append(data[i][1][j]*10)
In [39]:
source = ColumnDataSource(
data=dict(
x=x,
y=y,
radii=radii,
)
)
In [41]:
# draw it
figure()
visual_properties = {
'color': 'black',
'plot_height': 800,
'plot_width':1000,
'title': None,
}
circle('x', 'y',
source=source,
size='radii',
x_range=datasets,
y_range=buckets,
tools="",
**visual_properties)
grid().grid_line_color = None
show()