2017-06-27 24 views
5

Tôi đang sử dụng ggplotly để hiển thị lô thời gian tương tác. Trục x có định dạng ngày, nhưng mẹo công cụ di chuột trong cốt truyện là chuyển đổi định dạng ngày sang dạng số (ảnh chụp màn hình đính kèm). Bất kỳ ý tưởng về cách để có được ngày để hiển thị như là một ngày thích hợp trong tooltip?định dạng ngày trong chú giải công cụ của ggplotly

Dưới đây là một đoạn ngắn của mã:

output$ggplot <- renderPlotly({ 

plotbycity<-df_postgres %>% group_by(city, date, bedroooms) %>% 
    filter(city %in% input$checkGroup & bedroooms==input$radio) %>% 
    summarise(count=n(),rent=median(rent)) %>% 
    ungroup() 

plotbycity$date<-as.Date(plotbycity$date) 


# Error handling 
plotbycity<-plotbycity[!is.na(plotbycity$city),] 
if (is.null(plotbycity)) return(NULL) 

#plotbycity<-ungroup(plotbycity) 
#dat <- dat[c("rent", "bedroooms", "date", "City")] 
#dat <- melt(dat,id.vars=c("date", "City", "bedroooms"),na.rm=TRUE) # 

# draw the line plot using ggplot 
gg <-ggplot(plotbycity, aes(x = date, y = rent, group = city, color = city, 
          text = paste('obs: ', count))) + 
    geom_line() + 
    ggtitle("Monthly Rents") 
# #theme_hc(bgcolor = "darkunica") + 
# #scale_fill_hc("darkunica") 

p <- ggplotly(gg, tooltip = c("x", "y", "text")) 
p[![enter image description here][1]][1] 

Trả lời

10

Nếu bạn sử dụng chỉ text trong tooltip của bạn, bạn có thể làm cho một tooltip phức tạp hơn bằng cách sử dụng các yếu tố text bạn vượt qua để ggplot. Bạn chỉ cần gọi as.Date và sử dụng một số <br> thẻ html như sau:

# draw the line plot using ggplot 
gg <-ggplot(plotbycity, aes(x = date, y = rent, group = city, color = city, 
    text = paste('Rent ($):', rent, 
       '<br>Date: ', as.Date(date), 
       '<br>Obs: ', count))) + 
    geom_line() + 
    ggtitle("Monthly Rents") 

p <- ggplotly(gg, tooltip = c("text")) 

Hy vọng rằng sẽ giúp!

+0

Giải pháp dừng chân tuyệt vời. Mặc dù nó có vẻ giống như một cái gì đó ggplotly nên hiểu (kiểu dữ liệu), do đó một lỗi đáng nộp ... –

+0

Hoàn toàn đồng ý @MikeDolanFliss – jadianes

+0

Ngoài ra, trong trường hợp bạn có nhiều biến giải pháp này không cho phép bạn viết tên của biến trong chú giải công cụ, mặc dù chú giải công cụ có màu khác nhau cho mỗi biến. Xem https://www.dropbox.com/s/zts1vghb004f6an/ggvisDateProblem.R?dl=0 – user2955884

Các vấn đề liên quan