如何在datetimeaxis绘图上指定矩形?

2024-06-16 10:35:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想画一个矩形(高压边界)在有日期时间轴的绘图上。但是,从文档中不清楚如何指定角点。你知道吗

当然,我尝试指定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))

Tags: toimport绘图datetimeasrange边界pd
2条回答

从版本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

到目前为止,Bounds只接受数字边界,但是如果您想测试它,请查看这个PR:https://github.com/pyviz/holoviews/pull/3640

相关问题 更多 >