如何删除网格线并在R中绘制清晰的背景



我正在尝试使用RStudio创建一个3D绘图。到目前为止,我制作的东西与此类似(代码来自https://plotly.com/r/3d-scatter-plots/)

library(plotly)
mtcars$am[which(mtcars$am == 0)] <- 'Automatic'
mtcars$am[which(mtcars$am == 1)] <- 'Manual'
mtcars$am <- as.factor(mtcars$am)
fig <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, color = ~am, colors = c('#BF382A', '#0C4B8E'))
fig <- fig %>% add_markers()
fig <- fig %>% layout(scene = list(xaxis = list(title = 'Weight'),
yaxis = list(title = 'Gross horsepower'),
zaxis = list(title = '1/4 mile time')))
fig

不过,我也想编辑主题/背景。就像这样,我想要没有任何网格线的清晰背景。我知道这个图像可能是由scatter3D生成的,所以我想知道plot_ly是否也做了类似的事情?比如主题、背景色等?如何删除网格线?

与此处讨论的内容类似,在layout()中为x、y和z轴指定showgrid = F将删除所有网格线:

library(plotly)
mtcars$am[which(mtcars$am == 0)] <- 'Automatic'
mtcars$am[which(mtcars$am == 1)] <- 'Manual'
mtcars$am <- as.factor(mtcars$am)
fig <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, color = ~am, colors = c('#BF382A', '#0C4B8E'))
fig <- fig %>% add_markers()
fig <- fig %>% layout(scene = list(xaxis = list(title = 'Weight', showgrid = F),
yaxis = list(title = 'Gross horsepower', showgrid = F),
zaxis = list(title = '1/4 mile time', showgrid = F)))
fig

通过在layout()中为每个x、y和z轴额外指定showline = T,也可以在删除网格线后将x、y、z轴的线添加到绘图中:

library(plotly)
mtcars$am[which(mtcars$am == 0)] <- 'Automatic'
mtcars$am[which(mtcars$am == 1)] <- 'Manual'
mtcars$am <- as.factor(mtcars$am)
fig <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, color = ~am, colors = c('#BF382A', '#0C4B8E'))
fig <- fig %>% add_markers()
fig <- fig %>% layout(scene = list(xaxis = list(title = 'Weight', showgrid = F, showline = T),
yaxis = list(title = 'Gross horsepower', showgrid = F, showline = T),
zaxis = list(title = '1/4 mile time', showgrid = F, showline = T)))
fig

最新更新