我開發了一個R shiny
應用程序,使用優秀的DT
包來處理數據表。其中一個表使用styleColorbar
輔助函數,它在表格單元格中產生與每個單元格的值成比例的彩色條。DT包:styleColorbar()不適用於Android平板電腦
在Windows中運行的Chrome和Firefox中運行良好,但在Chrome上運行Chrome瀏覽器或在Sony Experia Android平板電腦上運行本機瀏覽器時,不會顯示彩條。
這裏的演示網頁也是如此:https://rstudio.github.io/DT/functions.html。 所以我不認爲這是我使用代碼的具體問題。
該函數基本上是一個JS包裝...我對JS完全沒有認識。
styleColorBar = function(data, color, angle=90) {
rg = range(data, na.rm = TRUE, finite = TRUE)
r1 = rg[1]; r2 = rg[2]; r = r2 - r1
JS(sprintf(
"isNaN(parseFloat(value)) || value <= %s ? '' : 'linear-gradient(%sdeg, transparent ' + (%s - value)/%s * 100 + '%%, %s ' + (%s - value)/%s * 100 + '%%)'",
r1, angle, r2, r, color, r2, r
))
}
我使用它在以下方面:
dat = DT::datatable(diversity,
options = list(
scrollX = TRUE,
scrollY = 400,
autoWidth = TRUE,
columnDefs = list(
list(visible = FALSE, targets = hidden)
)
),
style = "bootstrap",
class = "table-striped table-compact",
extensions = c("FixedColumns"),
)
%>%
formatStyle(
c(1),
background = styleColorBar(c(0,diversity[,1]), 'olivedrab'),
backgroundSize = '99% 90%',
backgroundRepeat = 'no-repeat',
backgroundPosition = 'center'
)
任何人都可以提出什麼可能是錯誤和解決方法這在Android平臺上運行?
編輯: 我相信這可能是線性梯度語法的問題,它與早期版本的Android有兼容性問題。但是,我在Android 4.1平板電腦上測試過,因此不確定問題所在。