我正在尝试向轮廓图添加y=1
处的水平线和x=1
处的垂直线,该怎么做?
我的代码如下所示:
library(plotly)
library("mvtnorm")
cov=matrix(c(2,1,1,2),2,2)
x1=seq(-4,4,by=0.1)
x2=seq(-4,4,by=0.1)
d<-expand.grid(x1,x2)
z=dmvnorm(as.matrix(d),sigma=cov)
plot_ly(x=d[,1],y=d[,2],z=z,type="contour")
答案 0 :(得分:2)
您可以使用
plot_ly(x = d[, 1], y = d[, 2], z = ~z, type = "contour") %>%
add_segments(x = 1, xend = 1, y = -4, yend = 4, inherit = FALSE) %>%
add_segments(x = -4, xend = 4, y = 1, yend = 1, inherit = FALSE) %>%
layout(xaxis = list(range = c(-4, 4)),
yaxis = list(range = c(-4, 4)))
我添加了inherit = FALSE
以避免警告,而layout
部分则修复了x轴。
答案 1 :(得分:1)
有两种可能性。
第一个与add_segments
一起使用,另一个与layout
一起使用:
带有添加段
plot_ly(x=d[,1],y=d[,2],z=z,type="contour")%>%
add_segments(x = 0, xend = 0, y = -4, yend = 4)%>%
add_segments(x = -4, xend = 4, y = 0, yend = 0)
布局:
plot_ly(x=d[,1],y=d[,2],z=z,type="contour")%>%
layout(shapes=list(type="line", x0=0, x1=0, y0=-4, y1=4))%>%
layout(shapes=list(type="line", x0=-4, x1=4, y0=0, y1=0))%>
对于改变颜色或类似的东西,我建议使用plot.ly的文档