我的 HoloViews 散点图上没有显示垂直线,因为它在散点图的 x 范围之外
Vertical line is not shown on my HoloViews scatter plot because it's outside the x-range of my scatterplot
我有一个散点图,想在上面添加一条垂直线作为标记。
但是散点图的 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):
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-range。
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
结果图:
我有一个散点图,想在上面添加一条垂直线作为标记。
但是散点图的 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):
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-range。
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
结果图: