text_source = ColumnDataSource(dict(text=text, x=x, y=y, angle=text_angle)) glyph = Text(x="x", y="y", text="text", angle="angle", text_align="center", text_baseline="middle", text_font_size="11px") plot.add_glyph(text_source, glyph) def to_base64(png): return "data:image/png;base64," + base64.b64encode(png).decode("utf-8") urls = [to_base64(icons.get(browser, b"")) for browser in browsers] x, y = polar_to_cartesian(1.7, start_angles, end_angles) icons_source = ColumnDataSource(dict(urls=urls, x=x, y=y)) glyph = ImageURL(url="urls", x="x", y="y", anchor="center") plot.add_glyph(icons_source, glyph) text = ["%.02f%%" % value for value in selected.Share] x, y = polar_to_cartesian(0.7, start_angles, end_angles) text_source = ColumnDataSource(dict(text=text, x=x, y=y)) glyph = Text(x="x", y="y", text="text", text_align="center", text_baseline="middle")
text_angle.insert(0, text_angle[0] - offset) start.insert(0, start[0] - offset) end.insert(0, end[0] - offset) x, y = polar_to_cartesian(1.25, start, end) first = False text_source = ColumnDataSource(dict(text=text, x=x, y=y, angle=text_angle)) glyph = Text(x="x", y="y", text="text", angle="angle", text_align="center", text_baseline="middle") plot.add_glyph(text_source, glyph) def to_base64(png): return "data:image/png;base64," + base64.b64encode(png).decode("utf-8") urls = [ to_base64(icons.get(browser, b"")) for browser in browsers ] x, y = polar_to_cartesian(1.7, start_angles, end_angles) icons_source = ColumnDataSource(dict(urls=urls, x=x, y=y)) glyph = ImageURL(url="urls", x="x", y="y", anchor="center") plot.add_glyph(icons_source, glyph) text = [ "%.02f%%" % value for value in selected.Share ] x, y = polar_to_cartesian(0.7, start_angles, end_angles) text_source = ColumnDataSource(dict(text=text, x=x, y=y)) glyph = Text(x="x", y="y", text="text", text_align="center", text_baseline="middle") plot.add_glyph(text_source, glyph) doc = Document() doc.add_root(plot)