plotly hoverlabel 颜色透明度

plotly hoverlabel color transparency

是否可以格式化 hoverlabel 使背景颜色透明并且可以通过标签看到绘图?

我可以将它设置为纯色,例如hoverlabel = list(bgcolor = '#fff') 但看起来如果我尝试添加透明度,颜色字符串的那部分将被忽略。与 bgcolor = 'rgba(255,255,255,0.05)' 相同,也不起作用。看起来标记有 opacity 设置,但 hoverlabels 没有。

谢谢!!

我发现(在 python 中),如果你在 layout 中传递 hovermode = "x unified",那么如果你将 bgcolor 设置为某些 rgba包括透明度在内的价值,它确实有效!我不知道它的 R 代码,但应该很容易弄清楚。这是它的样子(我觉得很恶心!)-

这是 (python) 代码-

fig.update_layout(hovermode='x unified', legend=dict(title= None), hoverlabel=dict(bgcolor='rgba(255,255,255,0.75)',
                                                                                  font=dict(color='black')))

另一种方法是将 CSS 选择器与 www 文件夹中的 css 文件一起使用,并将 css 包含在 ui.R 文件中,如下所示

此方法允许您为每个标签设置颜色变量,与已接受答案中的硬代码进行比较。

 dashboardBody(
   # use the css to set opacity of hover label - here I use tag$head in shinydashboard
   tags$head(
     tags$link(rel = "stylesheet", type = "text/css", href = "styles.css")
   )
   # more code here ...
)
# this file located in www/styles.css
g.hovertext > path {
  opacity: .6;
}

这种方法将导致页面上的每个悬停文本都获得不透明度设置,而不是一个特定的图。对于特定的情节,需要在选择器上做一些额外的工作。


编辑: 一个可重现的例子:

library(shiny)
library(plotly)

ui <- fluidPage(
  tags$style(HTML("g.hovertext > path {opacity: .6;}")),
  plotlyOutput("myPlot")
)

server <- function(input, output, session) {
  output$myPlot <- renderPlotly({
    plot_ly(x = 1:10, y = 1:10, type = "scatter", mode = "lines")
  })
}

shinyApp(ui, server)