2016-10-14 2 views
3

セルをスクロールするときにd3ツールチップに画像(デフォルトの行 - 列 - 値データではなく)を埋め込みたいと思います。R/d3heatmap/shiny - d3のツールチップに画像を埋め込む方法はありますか?

これを行うには
library(shiny) 
library(d3heatmap) 

ui <- shinyUI(fluidPage(

    titlePanel("Old Faithful Geyser Data"), 
mainPanel(
    d3heatmapOutput("out") 
) 
) 
) 

server <- shinyServer(function(input, output) { 

    output$out <- renderD3heatmap({ 
    d3heatmap(x = mtcars, 
      Colv = NULL, 
      scale= "column", 
      key = FALSE, 
      yaxis_font_size = "10pt", 
      xaxis_font_size = "10pt") 
}) 

}) 

shinyApp(ui = ui, server = server) 

Default Tooltip

1981 Toyota Carona

+0

ツールチップは、次のファイルのd3によって生成されます。https://github.com/rstudio/d3heatmap/blob/5babdac713ba874889079ead4b800af1ac0c895b/inst/htmlwidgets/lib/d3heatmapcore/heatmapcore.js (ライン238-248)。 1つの方法は、そのファイルを直接変更することです(イメージURLを 'data' javascriptオブジェクトに何らかの形で追加する必要があります) –

答えて

1

一つの方法は、BASE64であなたのイメージをエンコードし、その後d3heatmapするためにそれらのイメージの行列を渡すことです(...、cellnote =)

var tip = d3.tip() 
    .attr('class', 'd3heatmap-tip') 
    .html(function(d, i) { 
     return ('<img src="' + d.label + '"/>'); 
    }) 
関連する問題