📅  最后修改于: 2023-12-03 15:13:40.585000             🧑  作者: Mango
Bokeh是一个用于交互式可视化的Python库,它可以用于构建各种类型的图形,例如:折线图、柱状图、散点图等等。
在绘制数据的时候,经常需要使用到图例,以帮助用户更好地理解图表中的数据。Bokeh可以通过以下几个步骤自定义图例:
首先,我们需要创建一些数据来展示。假设我们有一组电影数据,包括电影名称、上映年份和电影票房:
import pandas as pd
data = pd.DataFrame({
'name': ['Avengers: Endgame', 'The Lion King', 'Frozen 2', 'Spider-Man: Far From Home'],
'year': [2019, 2019, 2019, 2019],
'box_office': [2797, 1656, 1450, 1131]
})
接下来,我们需要创建一个绘图对象,并设置图表的基本属性:
from bokeh.plotting import figure
p = figure(x_axis_label='Year', y_axis_label='Box Office', title='Box Office of Movies in 2019')
然后,我们可以使用p.circle()
方法绘制圆形散点图:
p.circle(data.year, data.box_office, size=15, color=['blue', 'red', 'green', 'orange'], legend_label=data.name)
这里,我们使用了color
参数来设置每个散点的颜色,legend_label
参数来设置每个散点的标签。
最后,我们可以使用p.legend
方法来自定义图例:
p.legend.location = 'top_left'
p.legend.label_text_font_size = '12pt'
p.legend.title = 'Movies'
p.legend.title_text_font_size = '14pt'
p.legend.title_text_font_style = 'bold'
这里,我们设置了图例的位置,字体大小以及标题的样式。
import pandas as pd
from bokeh.plotting import figure, show
data = pd.DataFrame({
'name': ['Avengers: Endgame', 'The Lion King', 'Frozen 2', 'Spider-Man: Far From Home'],
'year': [2019, 2019, 2019, 2019],
'box_office': [2797, 1656, 1450, 1131]
})
p = figure(x_axis_label='Year', y_axis_label='Box Office', title='Box Office of Movies in 2019')
p.circle(data.year, data.box_office, size=15, color=['blue', 'red', 'green', 'orange'], legend_label=data.name)
p.legend.location = 'top_left'
p.legend.label_text_font_size = '12pt'
p.legend.title = 'Movies'
p.legend.title_text_font_size = '14pt'
p.legend.title_text_font_style = 'bold'
show(p)
通过以上步骤,我们可以自定义Bokeh图表的图例,并帮助用户更好地理解数据。