Python HLine的标签

Python HLine的标签,python,holoviews,hvplot,Python,Holoviews,Hvplot,我有一个带有两个静态HLine的条形图,希望为它们添加一个标签(或图例),以便在该图上定义它们。我试过这样的方法: eq = ( sr2.hvplot( kind="bar", groupby ="rl", dynamic = False,) * hv.HLine(0.35, name="IA1").opts(color='red') * hv.HLine(0

我有一个带有两个静态HLine的条形图,希望为它们添加一个标签(或图例),以便在该图上定义它们。我试过这样的方法:

eq = (
    sr2.hvplot(
        kind="bar", 
        groupby ="rl", 
        dynamic = False,) 
    * hv.HLine(0.35, name="IA1").opts(color='red')
    * hv.HLine(0.2, label="IA2").opts(color='green')
)

但图表中没有标签。

对类似问题的回答说明这并不容易,您需要一个解决方法:

您也可以使用此解决方案的一部分:

也许最简单的方法是,当您希望在水平线上绘制图例时,不要使用
hv.HLine()
,而是自己使用
hv.Curve()
创建一条手动线:

# import libraries
import pandas as pd
import seaborn as sns
import holoviews as hv
import hvplot.pandas
hv.extension('bokeh')

# create sample dataset
df = sns.load_dataset('anscombe')

# create some horizontal lines manually defining start and end point
manual_horizontal_line = hv.Curve([[0, 10], [15, 10]], label='my_own_line')
another_horizontal_line = hv.Curve([[0, 5], [15, 5]], label='another_line')

# create scatterplot
scatter_plot = df.hvplot.scatter(x='x', y='y', groupby='dataset', dynamic=False)

# overlay manual horizontal lines on scatterplot
scatter_plot * manual_horizontal_line * another_horizontal_line
结果图:


如果您想要文本标签而不是图例,可以使用
hv.text

将全息视图导入为hv
高压扩展(“bokeh”)
高压散射([4,6,8,10],[0.1,0.5,0.01,0.7])*\
hv.HLine(0.35).opts(color='red')*hv.Text(9,0.38,“IA1”).opts(color='red')*\
hv.HLine(0.20).opts(color='green')*hv.Text(9,0.23,“IA2”).opts(color='green'))