2017-08-31 83 views
2

我已经创建了datashader地块与holoviews:如何在多个全景图中链接轴?

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值),但范围相同。我如何链接这些轴?

回答

3

是,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

+0

谢谢,工作完美! –

+0

除了一两件事:(当我在图形放大是不重绘所以像素变焦时得到更大只要一回复到旧方法的图表中再次重绘这是什么原因 –

+0

不知道;?我扩大答案包括这样做的一个例子,正如你所看到的,这些轴是连接的,并且数据交换器图会刷新。如果你尝试这样并且仍然有问题,你的JS控制台上可能会列出错误(搜索网页以查看 –