我在相同的图中绘制了几条(不同颜色的)曲线,并希望加宽图例中相应的彩色线条,以便在投影到大屏幕时更容易区分。
我可以访问图例的属性,例如图例的标签文字字体大小:
p1.legend.label_text_font_size = "15pt"
其中p1
是有问题的数字。问题是我不知道图例中“彩色线条”的术语是什么,遗憾的是文档中的relevant section是空的。
答案 0 :(得分:6)
您可以在GitHub上查看源代码
'label_text_font_size'
的唯一搜索位于此文件中: -
bokeh/bokehjs/src/coffee/renderer/annotation/legend.coffee
并向下滚动到Legend
类(编写本文时的第113行),然后您可以看到类属性。目前他们是: -
display_defaults: ->
return _.extend {}, super(), {
level: 'overlay'
border_line_color: 'black'
border_line_width: 1
border_line_alpha: 1.0
border_line_join: 'miter'
border_line_cap: 'butt'
border_line_dash: []
border_line_dash_offset: 0
label_standoff: 15
label_text_font: "helvetica"
label_text_font_size: "10pt"
label_text_font_style: "normal"
label_text_color: "#444444"
label_text_alpha: 1.0
label_text_align: "left"
label_text_baseline: "middle"
glyph_height: 20
glyph_width: 20
label_height: 20
label_width: 50
legend_padding: 10
legend_spacing: 3
orientation: "top_right"
datapoint: null
}
..他们中没有一个能够成为你想要的财产,因此可能无法改变它,但你可能想玩一个游戏?
NB我不认为所有属性都有设置器,因此您可能需要使用以下内容设置它们:p.legend.__setattr__('label_text_color', "#FF0000")
NB Bokeh是用CoffeeScript编写的,我没有经验,所以这可能所有都没用。
答案 1 :(得分:5)
以下(由@ciornav提出)在bokeh 0.13.0中对我有效:
p.legend.label_text_font_size = '20pt'
如here所述。
请谨慎放置此代码。当它是在您的p.figure()和p.line()语句之间,它似乎会被覆盖,因此不会生效。
在所有工件均已创建之后,在p.show()或p.save()之前放置代码。
答案 2 :(得分:2)
glyph_height 和 glyph_width 属性。在散点图上测试它们,默认情况下它们分别设置为20和20。在构建图例项时,可以使它们更大:
html
不幸的是,我在传说已经建成之后尝试设置它并且它似乎不起作用......但我可能错了。
编辑:另外,我使用的是Bokeh 0.12.7
答案 3 :(得分:1)
截至Bokeh 0.12.6,这是不可能的。图例自动使用与其所代表的事物完全相同的视觉属性(例如颜色,大小宽度)。因此,为了使图例中的线更粗,您需要使线本身更厚。
能够覆盖事物可能是一个合理的要求,我敦促你在GitHub上提出一个问题来讨论功能提议:
答案 4 :(得分:0)
也许这可能会有所帮助:
http://bokeh.pydata.org/en/0.10.0/docs/user_guide/styling.html#id4
命令应该工作....只是调整你的大小:
p.legend.label_text_font_size =' 30pt'
答案 5 :(得分:0)
在当前版本的Bokeh(1.2)中,可以使用以下命令在图例中更改对象大小:
p.legend.glyph_height = #some int
p.legend.glyph_width = #some int
p.show()
确保绘制所有几何图形后更改图例属性。