我希望使用 R 包 htmlwidgets 的 onRender() 函数绘制一个图,其中用户可以单击一个点并绘制一条线。我现在工作的关键是,以默认的粗细和默认的不透明度绘制一条灰线。
然而,我一直坚持改变线条的粗细(并且可能改变线条的不透明度,尽管它可能有效并且我看不到它,因为线条太细了)。我希望线条非常粗并且相当透明。我尝试了几种线宽和不透明度的参数和方法(其中一些在下面注释掉),但似乎它们没有什么区别。我可能缺少什么想法吗?谢谢。
library(plotly)
library(broom)
dat <- mtcars
dat$mpg <- dat$mpg * 10
p <- ggplot(data = dat, aes(x=disp,y=mpg)) + geom_point(size=0.5)
ggplotly(p) %>%
onRender("
function(el, x, data) {
// reduce the opacity of every trace except for the hover one
el.on('plotly_click', function(e) {
var trace1 = {
x: [100, 400],
y: [100, 400],
mode: 'lines',
//line: dict(color: 'gray', width: 100)
marker: {
color: 'gray',
size: 200,
width: 1000,
opacity: 0.5
}
}
Plotly.addTraces(el.id, trace1);
})
}
", data=dat)