как добавить постоянную строку в hvplot - PullRequest
1 голос
/ 09 ноября 2019

Как добавить горизонтальную линию в hvplot? У Holoviews есть .HLine и .VLine, но я не уверен, как получить к ним доступ через pandas.hvplot или hvplot

. Вот пример кадра данных и сценария построения графика.

import pandas as pd
import hvplot.pandas

df = pd.DataFrame({'A':[100], 'B':[20]})
df = df.reset_index()

print(df)
#   index   A       B
#0  0       100     20

# create plot
plot = df.hvplot.bar(y=['A', 'B'], x='index', 
              rot=0, subplots=False, stacked=True)

plot


enter image description here

1 Ответ

1 голос
/ 09 ноября 2019

Я бы просто наложил a holoviews hv.HLine () на ваш график примерно так:

import holoviews as hv

your_hvplot * hv.HLine(60)

Используя символ * в коде легко поставить HLine поверх вашего другого сюжета.
Это называется Overlay .


Если вам также нужна метка с вашим HLine , этот вопрос SO содержит пример для этого:
Как получить вертикальную линию полной высоты с надписью легенды в holoviews + bokeh?


Ваш пример кода с горизонтальной линией будеттогда выглядело так:

# import libraries
import pandas as pd
import hvplot.pandas
import holoviews as hv

# sample data
df = pd.DataFrame({'A':[100], 'B':[20]})

# create plot
plot = df.hvplot.bar(
    y=['A', 'B'], 
    stacked=True, 
    xaxis='', 
    title='Adding horizontal line hv.HLine() to plot with * overlay',
)

# create separate hline 
# for demonstration purposes I added some styling options
hline = hv.HLine(60)
hline.opts(
    color='red', 
    line_dash='dashed', 
    line_width=2.0,
)

# add hline to plot using * which overlays the hline on the plot
plot * hline

Окончательный результат:
adding hv.hline to hvplot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...