plotly giving incorrect text on hover in stacked bar charts
我正在将
可重现的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | df <- data.frame( make = rep(c('Toyota', 'Honda', 'Volkswagen'),4), segment =c(rep('high',3), rep('mid',3), rep('low',3), rep('entry',3) ), sales=c( 25,35,75, 35,35,30, 45,25,10, 80, 80, 20) ) df make segment sales 1 Toyota high 25 2 Honda high 35 3 Volkswagen high 75 4 Toyota mid 35 5 Honda mid 35 6 Volkswagen mid 30 7 Toyota low 45 8 Honda low 25 9 Volkswagen low 10 10 Toyota entry 80 11 Honda entry 80 12 Volkswagen entry 20 p <- ggplot(df, aes(x=make, y=sales) ) + geom_bar(stat="identity", aes(fill=segment), position ="stack") ggplotly(p) |
我在 RStudio 中得到的内容如下图所示。正如您所看到的,除了顶部堆叠的条之外,其他所有内容都在悬停
时给出了错误的文本
悬停时的文本不正确 - 基于
悬停时的正确文本 - 仅观察到堆栈中最顶部的条。
1 2 3 4 5 | > packageVersion('ggplot2') [1] a€?2.2.1a€? > packageVersion('plotly') [1] a€?4.5.6a€? > |
也许你可以尝试添加它:
1 2 | p <- ggplot(df, aes(x=make, y=sales, fill=segment, text=paste("sales original value", sales))) + geom_bar(stat="identity") ggplotly(p) |
如果你只想显示销售额,你也可以使用:
1 | ggplotly(p, tooltip = c("text")) |
使用闪亮:
1 2 3 4 5 6 7 8 9 10 11 12 13 | library(shiny) ui <- fluidPage( plotlyOutput("plot") ) server <- function(input, output) { output$plot <- renderPlotly({ p <- ggplot(df, aes(x=make, y=sales, fill=segment, text=paste("sales original value:", sales))) + geom_bar(stat="identity") ggplotly(p, tooltip = c("text")) }) } shinyApp(ui, server) |