source = ColumnDataSource(data=dict(x=[row['name'] for row in joined], y=[
    row['name'] for row in joined], color=list_of_colors_one_for_each_row))
names = list(set(row['name'] for row in joined))
rect('x', 'y', 0.9, 0.9, color='color', source=source, x_range=names,
    y_range=names)
Сюжетные темы с боке или matplotlib