r - 修改 plotly 折线图中的悬停模板
问题描述
我有下面的闪亮应用程序,我想在其中修改hovertemplate
它会显示的方式Name
,Week
和lab
(更美观的形式)。问题是我已经习惯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')
})
}
)
解决方案
尝试这个:
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")
推荐阅读
- java - 通道注册期间的线程块
- java - Android Studio 在 DefaultHttpClient 中出现错误
- android - 如何在 android firebase 中找到列表的大小?
- spring - 自动连线 getProperty 返回 null
- python - 如何在 numpy.append 中短路展平
- javascript - 尽管有条件语句,组件仍以某种方式呈现
- swift - 如何自动布局标签
- java - 使用云时,每次在标签检测中都会执行 addOnFailure
- nsis - 使用 NSIS 安装时如何从“浏览”对话框中仅显示本地驱动器和文件夹?
- c++ - 如何使用当前时间播种随机数生成器,显示标题并将随机出生日期分配给 X 人(C++)