Plot 使用HV图在同一图形上绘制具有不同y轴的2个时间序列
我正在尝试使用hvplot在同一个图形上绘制两个时间序列,我正在图形右侧创建一个辅助y轴,但我的第二个时间序列仍然使用左侧y轴进行绘制 例如,我的第一个时间序列的值范围为0到100万,因此主(左)y轴表示该范围。Plot 使用HV图在同一图形上绘制具有不同y轴的2个时间序列,plot,time-series,bokeh,panel,hvplot,Plot,Time Series,Bokeh,Panel,Hvplot,我正在尝试使用hvplot在同一个图形上绘制两个时间序列,我正在图形右侧创建一个辅助y轴,但我的第二个时间序列仍然使用左侧y轴进行绘制 例如,我的第一个时间序列的值范围为0到100万,因此主(左)y轴表示该范围。 我的第二个时间序列的值范围为0到100,并且正在使用主y轴的范围进行绘制,因此它在图表上基本不可见。 我希望我的第二个时间序列使用第二个(右)y轴进行绘图 这是我的密码: import pandas as pd import panel as pn from bokeh.models
我的第二个时间序列的值范围为0到100,并且正在使用主y轴的范围进行绘制,因此它在图表上基本不可见。
我希望我的第二个时间序列使用第二个(右)y轴进行绘图 这是我的密码:
import pandas as pd
import panel as pn
from bokeh.models import Range1d, LinearAxis
pn.extension()
pd.options.plotting.backend = 'hvplot'
opts.defaults(opts.Points(size=8, line_color='black'))
def plot_ts(media, target):
fig_1 = df[target].plot.line(title=target, label=target, color="red")
fig_2 = df[media].plot.area(title=media).opts(plot=dict(hooks=[twinx]),
style=dict(color="purple", alpha=0.5))
return fig_1 * fig_2
def twinx(plot, element):
# Setting the second y axis range name and range
start, end = (element.range(1))
label = element.dimensions()[1].pprint_label
plot.state.extra_y_ranges = {"foo": Range1d(start=start, end=end)}
# Adding the second axis to the plot.
linaxis = LinearAxis(axis_label=plot.title, y_range_name='foo')
plot.state.add_layout(linaxis, 'right')