2017-06-12 11 views
1

styleColorBarを使用すると、カラーバーのサイズをの絶対値のの値に比例させるにはどうすればよいですか?これとは対照的に、下の例では、cylの列を見ると、値が大きいほど赤いバーが大きくなります。styleColorBar:カラーバーのサイズを列の絶対値に比例させる

コード:

data <- head(mtcars[,1:4]) 
data[,2] <- -data[,2] 
data 
out <- datatable(data, rownames = FALSE) %>% 
    formatStyle('mpg', 
       background = styleColorBar(data$mpg, 'lightblue'), 
       backgroundSize = '95% 50%', 
       backgroundRepeat = 'no-repeat', 
       backgroundPosition = 'right') %>% 
    formatStyle('cyl', 
       background = styleColorBar(data$cyl, 'red'), 
       backgroundSize = '95% 50%', 
       backgroundRepeat = 'no-repeat', 
       backgroundPosition = 'right') 
out 

結果: enter image description here 私は非常によく似た質問がherethereに答えてきたことを認識しています。

しかし、どちらの例も私より複雑です。前者は、別の列に基づいて列の書式を設定します。後者は、カラーバーの方向が符号に依存する。 styleColorBarあなたがMath.abs(value)valueを置き換えることができ、いくつかのJavaScriptを生成:私はおそらく、単純なトリックは、私の場合のために存在していると考え...

あなたは

答えて

1

ここに1つのハック方法ですありがとうございました。制限が権利を取得するために、私はまた、abs(data$cyl)を取っ:

library(DT) 
data <- head(mtcars[,1:4]) 
data[,2] <- -data[,2] 
data 
out <- datatable(data, rownames = FALSE) %>% 
    formatStyle('mpg', 
       background = styleColorBar(data$mpg, 'lightblue'), 
       backgroundSize = '95% 50%', 
       backgroundRepeat = 'no-repeat', 
       backgroundPosition = 'right') %>% 
    formatStyle('cyl', 
       background = gsub(
       "value", "Math.abs(value)", 
       styleColorBar(abs(data$cyl), 'red'), 
       fixed=T), 
       backgroundSize = '95% 50%', 
       backgroundRepeat = 'no-repeat', 
       backgroundPosition = 'right') 
out 

enter image description here

関連する問題