r - plotly -R : specifying size of marker in add_trace() reduces opacity of markers

标签 r plotly opacity r-plotly

我在 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"))

代码生成此图像:

Dot crossed by a vertical line

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

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

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

如果我执行其中任何一个,点将完全不透明,就像线一样。

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

此处演示的默认行为是错误吗?

最佳答案

不,这是预期的,我们不认为这是一个错误:很多时候,尺寸标记会导致更多遮挡,因此默认情况下,使用尺寸时不透明度会降低。如果不希望出现这种情况,最好的办法是显式强制不透明度回到 1。

关于r - plotly -R : specifying size of marker in add_trace() reduces opacity of markers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62555001/

相关文章:

jquery - 单击其他 Div 时将 Div 淡化为可见/隐藏

jquery - 滚动时更改标题的不透明度?

transparency - 网站上带有 alpha channel 的 JPEG 图像

r - 禁用图例双击事件

python - Jupyter 与 ipywidgets 和plotly v4?

r - 从 R 中为另一种编程语言创建脚本文件(将包含许多特殊字符的长文本写入文件)

r - tagAssert 创建一个 Shiny 的仪表板时出错

从 SQLite 数据库读取许多表并在 R 中组合

regex - 如何 grep 向量并返回单个 TRUE 或 FALSE?

python - “系列”对象没有属性 'iplot'