0

我有一个散点图,想在其中添加一条垂直线作为标记。

但是散点图的 x 范围为 0 到 2,但我的垂直线位于 x 范围 6,因此它超出了我的散点图的 x 范围,并且不会自动显示。

无论我的绘图的 x 范围如何,我该怎么做才能显示我的垂直线?


示例代码:

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

# my vline is not shown automatically because it's
# outside the range of my hv.Curve()
hv.Curve([[0,3], [1,4], [2,5]]) * hv.VLine(6)


示例图(不显示 Vline):

没有额外垂直线的线图

4

1 回答 1

0

1)您当然可以手动更改xlim
hv.VLine(4).opts(xlim=(0, 7))

2)使用.opts(apply_ranges=True)而不必查看 x 轴上的范围应该是什么:

curve = hv.Curve([[0,3], [1,4], [2,5]])

# use apply_ranges=True
vline = hv.VLine(4).opts(apply_ranges=True, line_width=10)

curve * vline

同样的事情也适用于 hv.VSpan() 和 hv.HLine()。

3) 使用尖峰hv.Spikes代替垂直线:
Spikes 的优点是它还会自动为您调整 x 范围。

curve = hv.Curve([[0,3], [1,4], [2,5]])

# use apply_ranges=True
spikes = hv.Spikes([4]).opts(
    spike_length=3.0, 
    line_width=5,
    line_dash='dashed',
)

curve * spikes



结果图:

使用 .opts(apply_ranges=True) 自动更改您的 xrange



于 2020-01-18T18:09:47.070 回答