Bokeh 隐藏Bokeh图例
在本文中,我们将介绍如何在Bokeh绘图中隐藏图例。Bokeh是一个Python库,用于创建交互式和漂亮的数据可视化图形。图例是一个显示数据系列的说明部分,通常位于图形的角落或边缘。有时候,我们希望隐藏图例,以便更好地利用图形空间或减少干扰。
阅读更多:Bokeh 教程
使用legend属性隐藏图例
Bokeh中的图例可以通过设置图形的legend
属性来隐藏。默认情况下,legend
属性的值为"top_right"
,即将图例显示在图形的右上角。如果我们将legend
属性设置为None
,则可以隐藏图例。
下面是一个示例,演示如何使用legend
属性隐藏图例:
from bokeh.plotting import figure, show
from bokeh.models import CategoricalColorMapper
# 创建数据
years = ['2018', '2019', '2020']
populations = [100, 150, 200]
# 创建绘图对象
p = figure(x_range=years)
# 绘制柱状图,并设置legend属性为None
p.vbar(x=years, top=populations, width=0.5, legend=None)
# 显示图形
show(p)
在上面的代码中,我们首先创建了数据,包括年份和人口数据。然后,我们创建了一个绘图对象p
,并使用vbar
方法绘制了一个柱状图。在此过程中,我们将legend
属性设置为None
,以隐藏图例。最后,使用show
函数显示图形。
使用公共图例隐藏特定图例
除了直接将legend
属性设置为None
以隐藏整个图例之外,我们还可以通过创建一个常规的图例,再将某些图例项排除在外来隐藏特定的图例。
下面是一个示例,演示如何使用公共图例隐藏特定的图例项:
from bokeh.plotting import figure, show
from bokeh.models import CategoricalColorMapper, Legend
# 创建数据
years = ['2018', '2019', '2020']
populations = [100, 150, 200]
fruits = ['Apple', 'Orange', 'Banana']
# 创建绘图对象
p = figure(x_range=years)
# 创建一个颜色映射器
color_mapper = CategoricalColorMapper(factors=fruits, palette=['red', 'orange', 'yellow'])
# 绘制柱状图
p.vbar(x=years, top=populations, width=0.5, color={'field': 'fruits', 'transform': color_mapper})
# 创建一个图例对象,并将图例项与渲染器相关联
legend = Legend(items=[(fruit, [renderer]) for fruit, renderer in zip(fruits, p.renderers)], location='top_left')
# 将图例添加到绘图对象中
p.add_layout(legend)
# 隐藏某些图例项
legend.items[1].renderers[0].visible = False
# 显示图形
show(p)
在上面的代码中,我们创建了一个包含水果和人口数据的例子。绘图过程中,我们首先创建了一个颜色映射器,然后将其与绘制的柱状图颜色相关联。接下来,我们创建了一个图例对象,并将图例项与绘制的渲染器相关联。最后,我们使用visible
属性将第二个图例项设置为不可见,以隐藏特定的图例。
总结
通过设置图形的legend
属性为None
,我们可以直接隐藏整个图例。此外,我们还可以创建一个公共图例,并通过设置图例项的visible
属性来隐藏特定的图例项。这些技巧在使用Bokeh绘图过程中,可以更好地呈现数据,并减少视觉干扰。希望这些示例可以帮助你更好地进行数据可视化。
以上是关于如何隐藏图例的Bokeh教程,希望对您有所帮助。通过使用这些方法,您可以根据需要控制和定制Bokeh图形的外观和交互性。祝您在使用Bokeh创建数据可视化方面取得成功!