与 Holoviews 的对角线 (Python)
Diagonal line with Holoviews (Python)
在 Holoviews 中,您可以使用 hv.HLine() 绘制一条水平线,使用 hv.VLine() 绘制一条垂直线,并将其添加到您的绘图中。
但是我怎样才能画一条对角线并将其添加到我的绘图中呢?
编辑:新解决方案
最简单的方法画线,无论是对角线,还是任何其他斜率的线,都是这样的,在这里你给出起始坐标和结束坐标:
hv.Curve([[0, 0], [10, 10]]).opts(line_dash='dashed', color='black')
另一个选项 向现有绘图添加一条线,是使用 hv.Slope(),这需要您指定斜率和截距:
existing_plot = hv.Curve([[0, 2], [10, 10]])
existing_plot * hv.Slope(slope=1, y_intercept=3).opts(color='red')
也是一个很好的解决方案,但更复杂:
得到对角线的关键是得到一个等坐标的数组,比如(0,0),(1,1),(2,2)。然后使用 hv.Curve() 将这些坐标绘制为对角线,如下所示:
# import libraries
import numpy as np
import pandas as pd
import holoviews as hv
hv.extension('bokeh', logo=False)
# create coordinates such as (0,0), (1,1), (2,2) in an array
numbers = np.arange(0, 10).reshape(-1, 1)
numbers_coordinates = np.concatenate((numbers, numbers), axis=1)
# create the diagonal line or curve
diagonal_line = hv.Curve(numbers_coordinates, label='Plotting diagonal line')
# change the look of your line
diagonal_line = diagonal_line.opts(line_dash='dashed', color='black')
# plot your diagonal line
diagonal_line
在 Holoviews 中,您可以使用 hv.HLine() 绘制一条水平线,使用 hv.VLine() 绘制一条垂直线,并将其添加到您的绘图中。
但是我怎样才能画一条对角线并将其添加到我的绘图中呢?
编辑:新解决方案
最简单的方法画线,无论是对角线,还是任何其他斜率的线,都是这样的,在这里你给出起始坐标和结束坐标:
hv.Curve([[0, 0], [10, 10]]).opts(line_dash='dashed', color='black')
另一个选项 向现有绘图添加一条线,是使用 hv.Slope(),这需要您指定斜率和截距:
existing_plot = hv.Curve([[0, 2], [10, 10]])
existing_plot * hv.Slope(slope=1, y_intercept=3).opts(color='red')
也是一个很好的解决方案,但更复杂:
得到对角线的关键是得到一个等坐标的数组,比如(0,0),(1,1),(2,2)。然后使用 hv.Curve() 将这些坐标绘制为对角线,如下所示:
# import libraries
import numpy as np
import pandas as pd
import holoviews as hv
hv.extension('bokeh', logo=False)
# create coordinates such as (0,0), (1,1), (2,2) in an array
numbers = np.arange(0, 10).reshape(-1, 1)
numbers_coordinates = np.concatenate((numbers, numbers), axis=1)
# create the diagonal line or curve
diagonal_line = hv.Curve(numbers_coordinates, label='Plotting diagonal line')
# change the look of your line
diagonal_line = diagonal_line.opts(line_dash='dashed', color='black')
# plot your diagonal line
diagonal_line