如何在散景中制作簇样式树形图

时间:2014-05-10 08:19:22

标签: python dendrogram bokeh

我想在散景中制作一个簇样式的树状图。 我喜欢这个散点图的例子,但我想让线条弯曲并显示出来 像这样的集群结构:http://bl.ocks.org/mbostock/4063570

这里是来自散景示例的点图的代码:

import numpy as np
from bokeh.plotting import *
from bokeh.objects import Range1d

N = 4000

factors = ["a", "b", "c", "d", "e", "f", "g", "h"]
x0 = [0,0,0,0,0,0,0,0]
x =  [50, 40, 65, 10, 25, 37, 80, 60]

output_file("categorical.html", title="categorical.py example")

hold()

segment(x0, factors, x, factors, y_range=factors, x_range=Range1d(start=0, end=100), 
        line_width=2, line_color="green", tools="resize,previewsave", title="Dot Plot")
circle(x, factors, size=15, fill_color="orange", line_color="green", line_width=3, Name="categorical example")

figure()

show()  # open a browser

here is the output of bokeh dot plot

关于如何使线条弯曲并显示树状图中的聚类关系的任何建议。这张照片只是为了显示带点的直线的想法。实际目标是显示来自单点的所有线的聚类关系。

2 个答案:

答案 0 :(得分:3)

与此同时(四年后,2018-08年),我们运行Bokeh 0.13.0。 由于上述答案并不令人满意,因此我想向您介绍两个基于散景的树状图实现。

Daniel Russo基于定量数据的散景树状图实现: https://russodanielp.github.io/plotting-a-heatmap-with-a-dendrogram-using-bokeh.html

cdendro,bokehheat库基于分类数据的bokeh树状图实现:https://gitlab.com/biotransistor/bokehheat

答案 1 :(得分:1)

这不是不可能在Bokeh中呈现(从0.4.4开始),但是还没有内置的支持来帮助绘制图形和图形布局。您必须计算或使用库来计算边缘的线点等,然后将它们传递给Bokeh。图表支持在我们的路线图上,但它可能要到今年晚些时候,除非完整的公关在我们的圈子里掉线。