如何在日期时间轴图上指定矩形?

时间:2019-04-18 08:15:49

标签: python holoviews

我想在具有日期时间轴的绘图上绘制矩形(水平边界)。但是,从文档中尚不清楚如何指定拐角点。

自然,我尝试指定一个datetime对象,但是这会导致以下错误消息: ValueError: lbrt: tuple element is not numeric

import holoviews as hv
import pandas as pd
hv.extension('bokeh')


%%opts Curve [width=500]
xs = pd.date_range('1.1.2019', '31.1.2019')
ys = np.sin(range(len(xs)))
box=hv.Bounds((pd.to_datetime('5.1.2019'), 0.1, pd.to_datetime('7.1.2019'), .8))
hv.Curve((xs,ys))

2 个答案:

答案 0 :(得分:1)

1.12.3版开始,可以这样做:

import holoviews as hv
import pandas as pd
import numpy as np
import hvplot.pandas
hv.extension('bokeh')

index = pd.date_range('1.1.2019', '2.28.2019')
df = pd.DataFrame(np.random.rand(len(index)), index)
pts = pd.to_datetime(['1.15.2019', '2.15.2019'])
box = hv.Bounds((pts[0], 0.1, pts[1], .9)).opts(color='red')
df.hvplot.scatter() * box

答案 1 :(得分:0)

到目前为止,Bounds仅接受数字范围,但是如果您想对其进行测试,请参阅此PR:https://github.com/pyviz/holoviews/pull/3640