使用Plotly在R中的直方图顶部覆盖垂直线
我有一个类似下面的柱状图,我想在柱状图的顶部绘制一条特定值的垂直线 我的直方图代码是:使用Plotly在R中的直方图顶部覆盖垂直线,r,plotly,R,Plotly,我有一个类似下面的柱状图,我想在柱状图的顶部绘制一条特定值的垂直线 我的直方图代码是: library(plotly) p <- plot_ly(x = ~rnorm(50,mean = 50,sd = 10), type = "histogram") p library(plotly) plibrary(plotly) 种子(1) p% 添加_段(x=42,y=0,xend=42,yend=14,line=list(color=“red”,width=4)) P 另一种解决方案(有关
library(plotly)
p <- plot_ly(x = ~rnorm(50,mean = 50,sd = 10), type = "histogram")
p
library(plotly)
plibrary(plotly)
种子(1)
p%
添加_段(x=42,y=0,xend=42,yend=14,line=list(color=“red”,width=4))
P
另一种解决方案(有关详细信息,请参阅):
vlineabline(v=42)
或者,使用你的对象abline(v=x)
我已经试过了。我收到一个错误plot.new尚未调用
哦,您正在使用plotly,请尝试使用“直方图”进行打印?我仅限于使用plotly
此处add.trace
帮助您。谢谢Marco。这很有效。你知道有没有办法找到直方图的最大高度,这样我就可以用它来指定yend
而不是硬编码了吗?@krish你找到了找到yend的方法吗?@MarcoSandri你找到了找到yend的方法吗?谢谢@MarcoSandri这很好用,我们花了10个小时寻找这个解决方案,关于这个问题的信息不多
x <- 42
library(plotly)
set.seed(1)
p <- plot_ly(x = ~rnorm(50,mean = 50,sd = 10), type = "histogram") %>%
add_segments(x=42, y=0, xend=42, yend=14, line=list(color="red", width = 4))
p
vline <- function(x = 0, color = "red") {
list(
type = "line",
y0 = 0,
y1 = 1,
yref = "paper",
x0 = x,
x1 = x,
line = list(color = color)
)
}
p <- plot_ly(x = ~rnorm(50, mean = 50,sd = 10), type = "histogram") %>%
layout(shapes = list(vline(42)))
p