【发布时间】:2022-10-25 21:41:40
【问题描述】:
我想在 r 上绘制一个 3D 散点图。生成的图像是单色的,而我希望它根据 z 值进行更改,例如 add_surface 的输出。
library(plotly)
library(datarium)
plot_ly() %>%
add_trace(x = marketing$youtube, y = marketing$facebook, z = marketing$sales, type = "mesh3d")
我想要的结果看起来像这样:
plot_ly(z = ~volcano) %>% add_surface()
再现性数据集:
marketing <- tribble(~youtube, ~facebook, ~sales,
270, 45, 26,
53, 47, 12,
20, 55, 11)
【问题讨论】:
-
您需要一个矩阵,其中每个行名对应于
1:length(marketing$youtube),每列对应于1:length(marketing$facebook),每个单元格的每个值对应于[youtube, facebook]的相应销售值。然后你可以用 plotly 绘制你的矩阵,或者,用 youtube 和 facebook 修改 x 和 y 轴标签 -
谢谢 Yacine,是的,我知道如果我的数据是一个矩阵,我可以使用 add_surface 代替,但我无法构建这个矩阵。你能帮我吗?
-
是的,我可以帮忙,您能否启动
dput(marketing)的输出?或者至少是它的head()(在你的第一个问题消息中) -
数据集 <- tribble(~youtube, ~facebook, ~sales, 270, 45, 26, 53, 47, 12, 20, 55, 11)