如何在多个全息图中链接轴?

时间:2017-08-31 11:58:01

标签: python plot holoviews datashader

我使用全息视图创建了数据分析图:

datashade(hv.Points(df[
    [
        'PS Engine-% Load', 
        'PS Engine-Fuel Rate',
    ]
])) + datashade(hv.Points(df[
    [
        'SB Engine-% Load', 
        'SB Engine-Fuel Rate',
    ]
]))

两个图都绘制得很好,现在我想链接轴的范围,所以当我放大一个图时,另一个图也以相同的方式缩放。根据我的理解,当源值相同时,轴被链接。在这种情况下,X轴和Y轴的光源不同(注意PS和SB值),但范围相同。如何链接这些轴?

1 个答案:

答案 0 :(得分:4)

是的,HoloViews会自动链接它认为是"相同"的尺寸,其中"相同"归结为具有相同的名称和单位。在这种情况下,最简单的方法是确保要链接的维度在数据框中具有相同的列名称:

df_ps = df.rename(columns={'PS Engine-% Load': '% Load'})
df_sb = df.rename(columns={'SB Engine-% Load': '% Load'})
datashade(hv.Points(df_ps[['% Load','PS Engine-Fuel Rate']])) + \
datashade(hv.Points(df_sb[['% Load','SB Engine-Fuel Rate']]))

如果还应链接Fuel Rate,只需将其添加到每个重命名字典中。缩放前的示例:

Without zooming in

放大后:

After zooming in