2017-08-31 79 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控制檯上可能會列出錯誤(搜索網頁以查看 –