如何使 scatter3d 看起来像 3d 中的密度图?
我正在尝试在 plot_ly scatter3d 图中设置不透明度(或其他变量),以使用图中每个点的值,这些值来自数据框中的列。这是为了创建一种 3d 散点密度图。在这种情况下,不透明度列包含随机值,但如果事实证明这是可能的,我想在附近点的数量很高时使点不透明,而在它们相对孤立时使点不透明。在保持 scatter3d 样式的同时使其看起来像密度图的另一种方法也很好。
我在 plot_ly 代码中使用不透明度或 alpha 的尝试失败了,我找不到工作示例。
数据集可以从这里下载:file
library(shiny)
library(plotly)
library(data.table)
mydf <- read.csv("myshowdf.csv")
ui <- fluidPage(
plotlyOutput('scatter', width = 800, height = 600)
)
server <- function(input, output, session) {
output$scatter <- renderPlotly({
ppl <- plot_ly(mydf, x = ~FL.Red.Range, y = ~FL.Yellow.Range, z = ~SWS.Length, mode = 'markers',
color = ~sub.flow.FP1, marker = list(size = 4, opacity =mydf$opacity),
colors = c('blue', 'green', 'red', 'yellow'),
type = 'scatter3d', source = 'scatter') %>%
layout( autosize = F,
margin = list(l = 40, r = 20, b = 20, t = 40, pad = 4)
)
ppl$elementId <- NULL
ppl
})
}
shinyApp(ui = ui, server = server)