【问题标题】:Modify hovertemplate in plotly line chart修改 plotly 折线图中的悬停模板
【发布时间】:2021-07-30 13:40:21
【问题描述】:

我有下面的闪亮应用程序,我想在其中修改hovertemplate,使其显示NameWeeklab(更美观的值)。问题是我已经用customdata显示lab,不知道怎么显示Name

library(plotly)
library(shiny)
full_data<-data.frame("Name"=c("Q1","Q2","Q3","Q1","Q2","Q3"),"Values"=c(245645,866556,26440,65046,641131,463265),
                      "Week"=c("a","b","c","d","e","f"))
desc <- full_data %>% 
  group_by(Name,Week) %>% 
  summarise(values = sum(Values)) %>%
  mutate(lab = scales::label_number_si(accuracy = 0.1)(values))

shinyApp(
  ui = fluidPage(
    
    plotlyOutput("pl")
  )
  ,
  server = function(input, output, session) {
    output$pl<-renderPlotly({
      plot_ly(desc,
              x = ~Week, 
              y = ~values,
              #text = ~values,
              color = ~Name,
              colors = c("#60ab3d","#6bbabf","#c4d436","#3e5b84","#028c75","red"),
              customdata = mapply(function(x,y) list(x,y), desc$lab, desc$Name, SIMPLIFY = FALSE)) %>%
        add_trace(
          type = 'scatter',
          mode = 'lines+markers',
          hovertemplate = paste(
            "%{x}",
            "%{customdata[0]}", 
            "%{customdata[1]}", 
            "<extra></extra>",
            sep = "\n"),
          hoveron = 'points')
      
    })
  }
)
    

【问题讨论】:

    标签: r shiny plotly


    【解决方案1】:

    试试这个:

    customdata = mapply(function(x,y) list(x,y), desc$lab, desc$Name, SIMPLIFY = FALSE)
    

    hovertemplate = paste(
      "%{color}",
      "%{x}",
      "%{customdata[0]}", 
      "%{customdata[1]}", 
      "<extra></extra>",
      sep = "\n")
    

    【讨论】:

    • 对不起,我已经编辑了一点我的数据框,它现在不起作用
    • @firmo23 试试mapply(function(x,y) list(x,y), desc$lab, desc$Name, SIMPLIFY = FALSE, USE.NAMES = FALSE)
    • 我遇到了同样的问题:Tibble 列必须具有兼容的大小。 * 大小 2:列 xycolorhovertemplate.plotlyGroupIndex 和另外 2 个。 * 大小 6:列customdata。 [34mℹ[39m 仅回收尺寸一的值。
    • @firmo23 我认为你误用了dplyr。我不熟悉这个包。但我认为你在使用group_by时必须使用ungroup
    • desc数据集创建正常。问题是 mapply()
    猜你喜欢
    • 2020-09-07
    • 2013-06-17
    • 2021-10-14
    • 2022-06-28
    • 2021-10-05
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多