我想在一个闪亮的应用程序中本地绘制几十行。在绘制线条之后,我希望能够在不重绘的情况下更改样式吗?
在下面的示例中,为简单起见,只有6条迹线(线条)。我想只更改第一行和第三行的不透明度,而不重绘任何内容:
library(plotly)
plot_ly(mtcars, x=mpg, y=wt, group=carb)
style(p = last_plot(), opacity=0.1) #Only modifies first line & complains : You've referenced non-existent traces
style(p = last_plot(), opacity=0.1, traces = 3) #Does not work at all
Warning: You've referenced non-existent traces
Error in p$data[[max(traces)]] : subscript out of bounds
如何使用style()?
我搜索了很多但找不到任何文档
感谢您的帮助
问候
答案 0 :(得分:1)
我认为style()
旨在使用类似的东西:
p <- plot_ly(x = seq(0, 8), y = rnorm(8), name = "Blue Trace") %>%
add_trace(y = rnorm(8), name = "Orange Trace") %>%
add_trace(y = rnorm(8), name = "Green Trace")
p
pp <- style(p = last_plot(), opacity=0.1, traces = 1)
pp
ppp <- style(pp = last_plot(), opacity=0.1, traces = 2)
ppp
pppp <- style(ppp = last_plot(), opacity=0.1, traces = 3)
pppp
答案 1 :(得分:0)
也许这会有帮助吗?您应该能够快速跳转到任何跟踪并修改/添加任何属性。
library(plotly)
p <- plot_ly(mtcars, x=mpg, y=wt, group=carb)
p <- plotly_build(p)
p$data[[1]]$opacity = 0.1
p$data[[3]]$opacity = 0.1
p