簡體   English   中英

plotly-r:在 add_trace() 中指定標記的大小可降低標記的不透明度

[英]plotly-r: specifying size of marker in add_trace() reduces opacity of markers

我在 R(R package 版本 4.9.2.1)中使用 plotly。 我發現當我在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

如果我做任何這些,點是完全不透明的,就像線一樣。

請注意,不透明度的這種差異似乎不是點和線具有不同默認值的問題。 如果是這種情況,我們將無法通過操縱 arguments 的size來解決問題。

此處演示的默認行為是錯誤嗎?

不,這是預期的,我們不認為這是一個錯誤:通常,大小標記會導致更多的遮擋,因此默認情況下,在使用大小時會降低不透明度。 如果不希望這樣做,最好的辦法是明確強制不透明度回到 1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM