R 修改绘图折线图中的悬停模板

R 修改绘图折线图中的悬停模板,r,shiny,plotly,R,Shiny,Plotly,我在下面有一个闪亮的应用程序,我想在其中修改悬停模板,使其显示名称、周和实验室(更美观的值)。问题是我已经使用了customdata来显示lab,我不知道如何显示Name library(plotly) library(shiny) full_data<-data.frame("Name"=c("Q1","Q2","Q3","Q1","Q2","Q3"

我在下面有一个闪亮的应用程序,我想在其中修改
悬停模板
,使其显示
名称
实验室
(更美观的值)。问题是我已经使用了
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')
      
    })
  }
)
    
library(plotly)
图书馆(闪亮)
完整数据%
总结(值=总和(值))%>%
变异(实验室=刻度::标签编号(精度=0.1)(值))
shinyApp(
ui=fluidPage(
绘图输出(“pl”)
)
,
服务器=功能(输入、输出、会话){
产出$pl%
添加跟踪(
类型='scatter',
模式='行+标记',
hovertemplate=粘贴(
“%$x}”,
“%{customdata[0]}”,
“%{customdata[1]}”,
"",
sep=“\n”),
hoveron='点')
})
}
)
试试这个:

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

hovertemplate=粘贴(
“%{color}”,
“%$x}”,
“%{customdata[0]}”,
“%{customdata[1]}”,
"",
sep=“\n”)

很抱歉,我编辑了一点我的数据帧,但它不起作用now@firmo23尝试
mapply(函数(x,y)列表(x,y),desc$lab,desc$Name,SIMPLIFY=FALSE,USE.NAMES=FALSE)
。我遇到了同样的问题:TIBLE列必须具有兼容的大小。*大小2:列
x
y
颜色
悬停模板
.plotlyGroupIndex
,还有2个。*大小6:列
customdata
。[34mℹ[39m仅回收大小为1的值。@firmo23我认为您误用了
dplyr
。我不熟悉此软件包。但我认为在使用
group\u by
时,您必须使用
ungroup
。desc数据集是正常创建的。问题是mapply()
hovertemplate = paste(
  "%{color}",
  "%{x}",
  "%{customdata[0]}", 
  "%{customdata[1]}", 
  "<extra></extra>",
  sep = "\n")