首页 > 解决方案 > 如何渲染散景 ChordPlot 类?

问题描述

我目前正在尝试弄清楚如何渲染我子类化并传递给 Bokeh ChordPlot 类的 holoviews 元素。

这是我到目前为止所拥有的:

在 jupyter 笔记本中,如果您将散景扩展添加到 holoviews,它将呈现 holoviews 和弦图。

hv.extension('bokeh')
hv.output(size=200)

和弦类

我的老板想要一个自定义的 Chord Plot(如果需要可以提供详细信息),所以我将 holoviews Chord 类子类化,现在只使用一个存根来查看子类是否会呈现

class myChord(hv.Chord):
    pass

subclass = myChord(center_links)

chordclass = hv.Chord(center_links)

子类返回一个数据集

:myChord   [root,node]   (count)

和 chordclass 在 Jupyter 中返回上面的图

子类是类型

__main__.myChord

和弦类是类型

holoviews.element.graphs.Chord

所以,渲染器商店中没有我的子类名称

renderer = hv.renderer('bokeh')

renderer.get_plot(subclass)

SkipRendering: No plotting class for myChord found

但是 Bokeh 中有一个创建绘图数据的 ChordPlot 类

from holoviews.plotting.bokeh.graphs import ChordPlot

subclassPlot = ChordPlot(subclass)

type(subclassPlot) 

holoviews.plotting.bokeh.graphs.ChordPlot

我开始研究 hv.renderer 的工作原理,但不确定我是否走在正确的轨道上

我想知道如何渲染 subclassPlot,或者让子类成为 holoviews.element.graphs.Chord 类型——如果可能的话

几个问题:

  1. 我可以使用 Bokeh 渲染 ChordPlot(还是 hv.renderer 使用的所有内部黑盒?)
  2. 我应该看看 hv.renderer('bokeh') 是如何做到的吗?
  3. 如果有一种使用 Bokeh API 呈现 ChordPlot 的简单方法,你能指出我需要的文档中的类/方法/位置吗?

这个社区可以提供的任何指示都将受到高度赞赏。

谢谢

标签: pythonbokehsubclassingholoviews

解决方案


推荐阅读