光沢のあるDTにスパークラインを含めることができます。 RStudioビューアでうまく動作しますが、Shinyではスパークラインがレンダリングされません。ここには最小の例があります。Shinyのスパークラインでデータテーブルをレンダーする
# dependencies
require(sparkline)
require(DT)
require(shiny)
# create data with sparklines
spark_data <- data.frame(
id = c('spark1', 'spark2'),
spark = c(
spk_chr(values = 1:3, elementId = 'spark1'),
spk_chr(values = 3:1, elementId = 'spark2')
)
)
# render in RStudio viewer (this works)
tbl <- datatable(spark_data, escape = FALSE)
spk_add_deps(tbl)
# render in Shiny (no sparklines rendered in DT)
ui <- fluidPage(
sparklineOutput("test_spark"),
dataTableOutput("tbl")
)
server <- function(input, output) {
# sparkline outside DT (works fine) - also ensures sparkline dependencies are attached
output$test_spark <- renderSparkline(sparkline(1:3))
# sparkline inside DT (does not render)
output$tbl <- renderDataTable(
expr = spark_data,
escape = FALSE
)
}
shinyApp(ui = ui, server = server)
は、光沢のあるデータテーブル内のスパークラインを取得するため、この[リンク](https://leonawicz.github.io/HtmlWidgetExamples/ex_dt_sparkline.html)を参照してください。 – SBista
ありがとうございます、はい、私はそのページで少し時間を過ごしました。私の問題ではない最初のケース(RStudioビューアでのレンダリング)をカバーしています。ただし、リンクが2番目のケースをカバーしていません(Shinyでレンダリングが失敗する理由)。私は問題が依存関係にあるかもしれないと思う。私には、spk_add_depsを光沢のあるアプリで使う方法がわかりません。そのため、DTの外にダミーのスパークラインを描いて、依存関係を取得するのは難しいです。 – Grant
私はこの質問のバージョンをここに再掲載しています。https://stackoverflow.com/questions/47041415/include-sparkline-htmlwidget-in-datatable-cells-in-a-shiny-app-without-resortin JavaScriptを手動で入力する必要はありません。それがビューアで動作する場合、なぜシャイニーにいないのですか? –