TreeMaps使用Holoviews

时间:2018-06-15 04:50:55

标签: python server visualization treemap holoviews

我正在使用Holoviews创建可视化仪表板,我想在其中创建动态树图。我试图找到文件,但我没有在官方Holoviews中找到任何TreeMaps的文档。 然后我使用Squarify库来绘制TreeMaps,但我遇到的唯一问题是,我无法在服务器上部署这些树图。当我启动服务器时,弹出错误消息。

File "C:\Users\Nisarg.Bhatt\WinPython\python-3.6.5.amd64\lib\site- 
packages\holoviews\plotting\util.py", line 236, in initialize_dynamic
dmaps = obj.traverse(lambda x: x, specs=[DynamicMap])
AttributeError: 'AxesSubplot' object has no attribute 'traverse'

TreeMap的代码:

cmap = matplotlib.cm.Blues
mini=min(data["Quarter"])
maxi=max(data["Quarter"])
norm = matplotlib.colors.Normalize(vmin=mini, vmax=maxi)
#colors = [cmap(norm(value)) for value in data]

data1=data[0:1]

labels = [(label) for label in zip(data.Quarter,data.Company)]
fig = plt.figure(figsize=(20, 10))
plots=squarify.plot(sizes=data["month"],label= labels, color= 
["red","blue","green"],alpha=.8)
new_plot= renderer.app(plots)

执行此操作时,TreeMaps将在Jupyter NoteBook中创建。

QUERY: 1.有没有其他方法可以使用像hv.Curve或hv.Bars这样的全息视图来绘制TreeMap

  1. 如何解决此服务器问题。
  2. 先谢谢。 问候, Nisarg

2 个答案:

答案 0 :(得分:0)

使用较低层的库作为bokeh(兼容Holoviews),您可以像squarify一样绘制矩形。

答案 1 :(得分:0)

#plotting TreeMap using squarify.plot 

data = [8,3,4,2]
df = pd.DataFrame(data, columns=['nb_people'])
label=df.groupby(pd.cut(df["nb_people"], np.array([0,2,5,np.inf]),include_lowest=True,labels=['Group A','Group B','Group C'])).groups
squarify.plot(sizes=df['nb_people'], label=label, alpha=1)
plt.show()

enter image description here

平方