我在Mac上使用Rstudio。 我想3dplot表面感谢4个点与他们的笛卡尔坐标。 当我使用:plot_ly(x = x,y = y)时,我能够修正轴的范围。 当使用plot_ly(x = x,y = y,z = z)时,相同的轴测距方法不再起作用。
x = c(0, 1, 1, 0)
y = c(0, 0, 1, 1)
z = c(0, 1, 1, 0)
scene = list(camera = list(eye = list(x=-2.5, y=0.1, z=0.1), center=list(x=0, y=0, z=0), up=list(x=0, y=0, z=1)))
axx <- list(range=c(0, 10), showline=TRUE, linecolor=toRGB("black"))
p <- plot_ly(x = x, y = y, z = z, text = c("M0", "M1", "M2", "M3"),
type = "mesh3d",
showscale = FALSE
) %>%
layout(scene=scene, xaxis=axx, yaxis=axx, zaxis=axx )
很好,我打算使用这个代码在data.frame上循环,看看我的观点的演变。如果我不能在每个绘图迭代上都有相同的比例,那就没有意义了。
for (ind in 1:datalen)
{
print(ind)
x = c(0, myCoord$az[ind], myCoord$az[ind], 0)
y = c(0, 0, 1, 1)
z = c(0, myCoord$ax[ind], myCoord$ax[ind], 0)
p <- plot_ly(x = x, y = y, z = z, text = c("M0", "M1", "M2", "M3"),
type = "mesh3d",
showscale = FALSE
) %>%
layout(scene=scene, xaxis=bxx, yaxis=bxx, zaxis=axx )
print(p)
Sys.sleep(0.5)
}
感谢您的帮助。
答案 0 :(得分:0)
您需要使用最新版本的plotly并将轴设置为场景的属性。
例如:
layout.scene = Scene(xaxis=XAxis(title='my x label'),
yaxis=YAxis(title='my y label'),
zaxis=ZAxis(title='my z label', range=[z_min, z_max]))