2017-10-26 2 views
0

반짝이는 대시 보드에서 하이 차트를 사용하여 차트를 만들었으며 툴팁을 사용자 정의하려고합니다. 차트는 선 및 산점도를 결합한 것입니다. 나는 다음을 수행하는 데 싶습니다 :)R Highcharter : 툴팁 사용자 정의

1)는 현재 라인 하나 산란을위한 하나)

이있다 (호버 정보를 하나의 상자를 가지고 정보를 다른 열을 사용 할 수 있어야 그 일련의 x 또는 y 값에 사용되지 않습니다.

각 특정 x 축 값에 대해 다음 정보 (스 캐터 지점이나 선 위로 가져 갔는지 여부)를 표시하도록 도구 설명을 표시하고 싶습니다.

전체

평균 2 [평균 : 데이터 $ avghours]

개 1 [데이터 $ : 동물 데이터 $ 시간 이하에

는 예 코드 나는 내 문제를 보여 준 글을 썼다 :

library (shiny) 
library (shinydashboard) 
library (highcharter) 


header <- dashboardHeader(title = "Example") 

body <- dashboardBody(

    fluidRow(
    box(title = "example", status = "primary", solidHeader = TRUE, 
     highchartOutput("chart") 
    ) 
    ) 
) 

sidebar <- dashboardSidebar() 

ui <- dashboardPage(header, sidebar, body) 

server <- function(input, output) { 

    date <- c(1,2,3,4,5,6,7,8,9,10) 
    hours <- c(1,5,4,1,6,5,7,5,4,3) 
    avghours <- c(2,2,2,3,3,3,2,2,2,2) 
    animal <- c("dog","cat","cat","cat","cat","cat","cat","cat","dog","dog") 
    data <- data.frame(date,hours,avghours,animal) 

    output$chart <- renderHighchart({ 

    highchart() %>% 
     hc_add_series(name = "Shipments", data=data$hours, type = "scatter", color = "#2670FF", marker = list(radius = 2), alpha = 0.5) %>% 
     hc_add_series(name = "Rolling Mean", data=data$avghours, color = "#FF7900") %>% 
     hc_yAxis(min = 0, title = list(text = "Hours")) %>% 
     hc_tooltip(crosshairs = TRUE) 

    }) 

} 

shinyApp(ui, server) 
+0

Highcharter의 GitHub 사이트에서 [이 호] (https://github.com/jbkunst/highcharter/issues/54)를 보았습니까? –

+1

'반짝 반짝'태그와 관련된 모든 코드를 앱과 함께 삭제할 수 있습니다. 이것은 '고소'문제입니다. – jbkunst

답변

2

무엇보다도, 모든 데이터를 추가하는 대신 벡터 만 입력하면됩니다 (벡터는 원하는 정보를 툴팁에 모두 표시하지 않습니다).

highchart() %>% 
    hc_add_series(data = data, mapping = hcaes(x=date, y=hours), name = "Shipments", type = "scatter", color = "#2670FF", marker = list(radius = 2), alpha = 0.5) %>% 
    hc_add_series(data = data, hcaes(date, avghours), name = "Rolling Mean", type = "line", color = "#FF7900") %>% 
    hc_yAxis(min = 0, title = list(text = "Hours")) %>% 
    hc_tooltip(crosshairs = TRUE) 

enter image description here

그런 다음 당신이 tooltip 인수를 사용할 수 있습니다 은 모든 축에서 어떤 변수 사용을 정의 할 mapping 인수에 hcaes 도우미 함수와 data.frame를 사용하여 data 인수를 변경해야 할이 작업을 수행하려면 hc_add_series의 각 시리즈에서 툴팁을 정의하려면

highchart() %>% 
    hc_add_series(data = data, hcaes(date, hours), name = "Shipments", type = "scatter", 
       tooltip = list(pointFormat = "tooltip with 2 values {point.animal}: {point.hours}")) %>% 
    hc_add_series(data = data, hcaes(date, avghours), name = "Rolling Mean", type = "line", 
       tooltip = list(pointFormat = "Avg hour text! {point.avghours}")) %>% 
    hc_yAxis(min = 0, title = list(text = "Hours")) %>% 
    hc_tooltip(crosshairs = TRUE) 

+0

감사합니다. @jbkunst! 이것은 매우 도움이됩니다. 같은 툴팁에서 두 시리즈를 모두 얻을 수있는 방법이 있습니까? 그래서 내가 위로 가져갈 때, 나는 같은 박스에서'Shipments'와'Rolling Mean'을 모두 얻습니다. – Kevin

+0

아직 모릅니다. 나는 그것을 들여다 볼 것이다. – jbkunst

관련 문제