sparkline
패키지를 사용하여 반짝이는 앱에서 datatable
의 셀에 배치 할 막 대형 차트를 만듭니다. 나는 독립형 datatable
에서 원하는 출력을 생성 할 수 있었지만 Shiny 응용 프로그램에 배치하면 작동하지 않습니다. spk_add_deps()
이 htmlwidgets을 식별하는 방법과 관련이있을 수 있습니다. 내가 꽤 주위에 spk_add_deps()
함수를 이동하고 다양한 식별자를 전달 시도했는데 아무것도 효과가 없습니다.(많은) JavaScript를 사용하지 않고 Shiny 앱의 데이터 테이블 셀에 sparkline htmlwidget 포함
나는 여기에 기본적으로 같은 질문 Render datatable with sparklines in Shiny 을 발견했지만 주어진 솔루션은 (1) 콜백 함수에서 스파크의 자바 스크립트 코드를 작성합니다 (R sparkline()
기능을 갖는의 목적을 격파)에 의존하고 (2)를 스파크 라인이 뷰어에서 렌더링되면 자바 스크립트를 모두 작성하지 않고도 반짝이는 앱에서 렌더링 할 수는 없습니다. 나는 스파크의 막대 그래프가 나타나지 않는 자신의 데이터 테이블 렌더링 경우 지금
# Preliminary, load packages and build a demo table with the sparkline code merged in
library(shiny)
library(DT)
library(data.table)
library(sparkline)
## Create demo data sets
my_mtcars <- data.table(mtcars, keep.rownames = TRUE)
names(my_mtcars)[1] <- 'car_id'
set.seed(0)
data_for_sparklines <- data.table(car_id = rep(my_mtcars$car_id, 5),
category = 1:5,
value = runif(160))
sparkline_html <- data_for_sparklines[, .(sparkbar = spk_chr(value, type = 'bar')), by = 'car_id']
my_mtcars <- merge(my_mtcars, sparkline_html, by = 'car_id')
: 여기
데모의spk_add_deps(datatable(my_mtcars, escape = FALSE))
을하지만 난에 같은를 포함하는 경우 반짝이는 열이 비어있는 앱 :
ui <- shinyUI(fluidPage(
dataTableOutput('myTable')
))
server <- shinyServer(function(input, output, session) {
output$myTable <- renderDataTable(spk_add_deps(datatable(my_mtcars, escape = FALSE)))
})
shinyApp(ui = ui, server = server)
htmlwidgets는 설계된 JS 패키지에서만 작동하는 경향이 있습니다. 누군가 R에 DT + 스파크 라인 위젯을 특별히 만든 경우가 아니라면 운이 없다고 생각합니다. –