如何以编程方式访问bokeh打印样式选项(描述,默认值)

2024-09-19 23:43:42 发布

您现在位置:Python中文网/ 问答频道 /正文

如问题所述,我需要一种通过编程访问plot选项的描述和默认值的方法,例如plot/width。你知道吗

那么,有什么东西可以保存所有样式选项,比如widthxrotation,以及它的描述和默认值吗?你知道吗


Tags: 方法plot选项编程样式widthxrotation
1条回答
网友
1楼 · 发布于 2024-09-19 23:43:42

您需要调用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的特定情况下,类和实例的默认值是相同的。)


编辑也可能值得一提的是,项目repo中有一个脚本,它将转储一个包含每个Bokeh模型及其属性(包括默认值、类型等)的JSON blob。请注意,此脚本的输出非常大,但如果最好将所有信息放在一个地方,则它将提供:你知道吗

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

相关问题 更多 >