如何从使用 ggplotly 或 toWebGL 生成的绘图中删除悬停

问题描述 投票:0回答:1

我有一个闪亮的应用程序并使用plotly-Plots。我必须使用 webGL,否则我无法获得可接受的性能。然而,似乎在这里删除悬停的方法从绘图对象中删除悬停信息文本不起作用。我的最小例子:

library(shiny)
library(ggplot2)
library(plotly)

ui <- fluidPage(
  plotlyOutput("po")
)

server <- function(input, output, session) {
  output$po <- renderPlotly({
    p <- ggplot(iris)+geom_point(aes(x=Sepal.Width,y=Sepal.Length,color=Species))
    p <- toWebGL(p)
    #p <- ggplotly(p) # This also does not work, so the problem seems to be somewhere else
    p$x$data[[1]]$hoverinfo <- "none"
    p
  })
}

shinyApp(ui, server)

悬停仍然存在。我怎样才能删除它?

r ggplot2 plotly
1个回答
0
投票

我去掉了闪亮的上下文,因为它仍然是一个在普通 R 脚本中会遇到的问题。技巧是调整布局的悬停选项(设置为 FALSE); 如果有很多文本,那么您可以执行可选行以从绘图对象中删除文本。

library(ggplot2)
library(plotly)
p <- ggplot(iris)+geom_point(aes(x=Sepal.Width,y=Sepal.Length,color=Species))
p <- toWebGL(p)
p$x$layout$hovermode <- FALSE # This is what you want.
p$x$data[[1]]$text <- NULL # optional ; might make your plotly object smaller
p
© www.soinside.com 2019 - 2024. All rights reserved.