【问题标题】:plotly-r: specifying size of marker in add_trace() reduces opacity of markersplotly-r:在 add_trace() 中指定标记的大小可降低标记的不透明度
【发布时间】:2020-10-14 17:01:53
【问题描述】:

我在 R 中使用 plotly(R 包版本 4.9.2.1)。我发现当我在add_trace() 中使用size 参数时,跟踪中标记的不透明度会降低。这似乎是一个错误。是——还是我只是没听懂add_trace()

这是一个最小的例子:

library(plotly)
myPlot <- plot_ly(data = data.frame(x = 1, y = 1, yLo = 0.5, yHi = 1.5)) 
myPlot <- add_trace(
  myPlot,
  x = ~x, y = ~y,
  type = "scatter", mode = "markers",
  size   = 1000,
  marker = list(
    # size    = 250,
    # opacity = 1,
    color = "D0D0D0",
    line  = list(color = "D0D0D0")))
add_segments(  
  myPlot,
  x = ~x, xend = ~x, y = ~yLo, yend = ~yHi, 
  color = I("#D0D0D0"))

代码生成此图像:

您可以看到点和线的不透明度不同,尽管代码中没有任何内容表明它们应该不同。 (我放大了圆点以使这种差异更容易看到。)

至少有三种方法可以解决问题:

  1. 注释掉size = 1000
  2. marker 参数中取消注释 size = 250
  3. marker 参数中取消注释 opacity = 1

如果我做任何这些,点是完全不透明的,就像线一样。

请注意,这种不透明度的差异似乎与点和线具有不同的默认值无关。如果是这种情况,我们将无法通过操纵 size 参数来解决问题。

这里展示的默认行为是错误吗?

【问题讨论】:

    标签: r plotly opacity r-plotly


    【解决方案1】:

    不,这是预期的,我们不认为这是一个错误:通常,大小标记会导致更多的遮挡,因此默认情况下,在使用大小时会降低不透明度。如果不希望这样做,最好的办法是明确强制不透明度回到 1。

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 1970-01-01
      • 2014-05-31
      • 2023-02-07
      • 2018-01-31
      • 1970-01-01
      • 2018-04-15
      • 2020-07-10
      • 2021-02-26
      相关资源
      最近更新 更多