Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python HoloViews-NdOverlay-图例_Python_Legend_Holoviews_Holoviz - Fatal编程技术网

Python HoloViews-NdOverlay-图例

Python HoloViews-NdOverlay-图例,python,legend,holoviews,holoviz,Python,Legend,Holoviews,Holoviz,我有一个hv.NdOverlay多个全息视图的绘图。曲线对象。曲线对象属于一个组(在本例中为“a”组或“B”组)。如何设置hv.NdOverlay绘图以显示显示两个组的图例 代码示例(holoviews版本:1.13.4): 我得到的是: 我想得到的是一个有两个条目的图例,一个显示红线,后跟字母“a”,另一个显示绿线,后跟字母“B”。 看起来holoviews.NdOverlay正在从曲线的关键点中提取图例信息。但钥匙必须是唯一的。看来这对我的计划不起作用。是否有其他方法设置holoviews

我有一个hv.NdOverlay多个全息视图的绘图。曲线对象。曲线对象属于一个组(在本例中为“a”组或“B”组)。如何设置hv.NdOverlay绘图以显示显示两个组的图例

代码示例(holoviews版本:1.13.4):

我得到的是:

我想得到的是一个有两个条目的图例,一个显示红线,后跟字母“a”,另一个显示绿线,后跟字母“B”。
看起来holoviews.NdOverlay正在从
曲线的关键点中提取图例信息。但钥匙必须是唯一的。看来这对我的计划不起作用。是否有其他方法设置holoviews.NdOverlay,以便获得上面描述的图例?

这就是您要查找的结果吗

这是我用来创建它的代码:

import holoviews as hv
import numpy as np
from datetime import datetime
from holoviews import opts

hv.extension('bokeh')

x_start = [0, 100, 100, 0, 120, 200]
x_end = [220, 340, 280, 120, 290, 400]
date = [datetime(2020, 2, 10, 0, 0, 0), datetime(2018, 5, 22, 0, 0, 0),
        datetime(2012, 7, 8, 0, 0, 0), datetime(1999, 12, 28, 0, 0, 0), 
        datetime(2004, 3, 21, 0, 0, 0), datetime(1992, 11, 23, 0, 0, 0)]
group = ['A', 'A', 'B', 'A', 'A', 'B']

def fig(key):
    return hv.Curve(((x_start[key], x_end[key]), (np.datetime64(date[key]), np.datetime64(date[key]))),
        'X', 'Year',
        group=group[key],
        label=group[key]
        )

for i in range(len(group)):
    if i == 0:
        f = fig(i)
    else:
        f *= fig(i)
        
f.opts(opts.Curve(show_grid=True, height=300, responsive=True, align='center'),    
       opts.Curve('A', color='red'),
       opts.Curve('B', color='green'))


你的方法有两个不同之处。我使用了
hv.Curve()
label
参数,不再使用
NdOverlay

这就是您要查找的结果吗

这是我用来创建它的代码:

import holoviews as hv
import numpy as np
from datetime import datetime
from holoviews import opts

hv.extension('bokeh')

x_start = [0, 100, 100, 0, 120, 200]
x_end = [220, 340, 280, 120, 290, 400]
date = [datetime(2020, 2, 10, 0, 0, 0), datetime(2018, 5, 22, 0, 0, 0),
        datetime(2012, 7, 8, 0, 0, 0), datetime(1999, 12, 28, 0, 0, 0), 
        datetime(2004, 3, 21, 0, 0, 0), datetime(1992, 11, 23, 0, 0, 0)]
group = ['A', 'A', 'B', 'A', 'A', 'B']

def fig(key):
    return hv.Curve(((x_start[key], x_end[key]), (np.datetime64(date[key]), np.datetime64(date[key]))),
        'X', 'Year',
        group=group[key],
        label=group[key]
        )

for i in range(len(group)):
    if i == 0:
        f = fig(i)
    else:
        f *= fig(i)
        
f.opts(opts.Curve(show_grid=True, height=300, responsive=True, align='center'),    
       opts.Curve('A', color='red'),
       opts.Curve('B', color='green'))


你的方法有两个不同之处。我使用了
hv.Curve()
label
参数,我不再使用
NdOverlay

Hi!请记住,有很多python开发人员在那里,如果您在基于python的问题中有标记,那么它可以帮助他们找到您的问题。嗨!请记住,有很多python开发人员在那里,如果您在基于python的问题中有标记,那么它可以帮助他们找到您的问题。这段代码正在运行,请对此竖起大拇指!然而,缺点是不可能使用“点击”工具选择线(我认为)
f.opts(opts.Curve(show_grid=True,height=300,responsive=True,align='center',tools=['tap'])
。该工具出现并可以激活,但无法选择线条。这是一个全新的要求,应该在一个新问题中提出。此外,我认为它正在工作,但渲染器的两种模式(选择模式和正常模式)尚未定义。此代码正在运行,请竖起大拇指!但是,缺点是无法使用“点击”工具(我认为)选择线条。
f.opts(opts.Curve(show_grid=True,height=300,responsive=True,align='center',tools=['tap'])
。工具出现并可以激活,但无法选择行。这是一个全新的要求,应该在新问题中提出。此外,我认为它正在工作,但渲染器的两种模式(选择模式和正常模式)尚未定义。