首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arviz和Bokeh:试图使用后端kwargs更改情节的标题

Arviz和Bokeh:试图使用后端kwargs更改情节的标题
EN

Stack Overflow用户
提问于 2020-07-29 15:05:04
回答 1查看 732关注 0票数 1

我试图改变我与Arviz创作的情节的标题。通常,我使用backend_kwargs来完成这个任务,但是它似乎不适用于某些情节:在本例中,是plot_density

这是我使用的代码:

代码语言:javascript
复制
kwg = dict(title="prior_1", height=500)
plot = az.plot_density(
                   data_m[0], 
                   group='posterior', 
                   var_names='switchpoint', 
                   backend='bokeh',
                   shade=.5, 
                   backend_kwargs=kwg
                   )

它认识到kwargs中的高度变化,所以它不像没有抓住它们一样。

我也尝试过其他的变体,例如plot_title=,它会产生一个错误,指定它需要是title=

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-05 20:36:46

ArviZ使用别名初始化Bokeh 绘图实例。正如您可以看到在Plot上读取文档一样,title是一个有效的参数。但是,由于几个原因,ArviZ在创建情节时不使用此参数,而是在创建之后设置标题。因此,你的论点正在被认可,并且只会被改写。

plot_density将每个图的标题设置为变量名,如果是多维的,则设置其坐标。此外,除了多个变量(每个变量都可以是多维的)之外,它还支持同时绘制多个模型(因此不同的InferenceData对象)。可以使用参数data_labels设置图例标签。这方面的一个例子可以在ArviZ示例库中看到,您甚至可以单击图例来隐藏模型。

因此,要达到预期的结果,您必须在调用plot_density之后手动修改标题,这可以通过几行额外的行来完成。您必须用plot_density调用show=False,以便以后可以修改图形。然后,可以从存储在plot_density返回的数组中的元素中编辑标题。

代码语言:javascript
复制
kwg = dict(height=500)
axes = az.plot_density(
    data_m[0],
    group="posterior",
    var_names="switchpoint",
    backend="bokeh",
    shade=0.5,
    backend_kwargs=kwg,
    show=False
)
axes[0,0].title.text = "prior_1"
az.plots.backends.show_layout(axes)

如果有多个包含多个多维变量的图,则必须通过遍历数组来编辑每个图的标题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63156647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档