如何以编程方式访问bokeh绘图的样式选项(描述、默认值)?

3
正如问题所述,我需要一种编程方式来访问绘图选项的描述和默认值,例如plot/width
那么,是否有一些包含所有样式选项(如widthxrotation)及其描述和默认值的内容?
1个回答

0
你需要在 Bokeh 模型(类或实例)上调用 .lookup 方法来获取属性描述符,然后可以通过 __doc__ 属性访问它:
In [1]: from bokeh.models import DataRange1d

In [2]: print(DataRange1d.lookup('start').__doc__)

    An explicitly supplied range start. If provided, will override
    automatically computed start value.

根据您的用例,您可能想要从结果中dedent或删除空格。

如果您有或可以创建Bokeh模型的实际默认实例,则可以通过检查它来获取默认属性值,即查看range.start的值。如果可能的话,这可能是更可取的。

否则,如果您只处理类,则获取默认值会有点棘手:

In [7]: d = DataRange1d.lookup('start')

In [8]: print(d.class_default(DataRange1d))
None

请注意,一些Bokeh模型具有特定于实例的默认值,这些也可以像这样访问:
In [9]: r = DataRange1d()

In [11]: print(d.instance_default(r))
None

但是,如果您有一个实例,您也可以直接查看.start。如果您没有明确设置它,您将看到默认值。(还要注意,在DataRange1d的特定情况下,类和实例的默认值相同。)


编辑 另外值得一提的是,项目仓库中有一个脚本,可以将每个Bokeh模型及其属性(包括默认值、类型等)转储为JSON blob。请注意,此脚本的输出非常大,但如果希望在一个地方获得所有信息,这将提供它:

https://github.com/bokeh/bokeh/blob/master/scripts/spec.py


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接