为3d散点图中的各个点指定特定的十六进制颜色

时间:2018-04-25 00:17:10

标签: r plotly r-plotly

我有LiDAR数据集,我从中提取了栅格中的RGB-NIR颜色。我没有问题在我想要制作的情节中生成三维图,或者根据一维数值列(例如NDVI)对图进行着色;但我有兴趣根据我写入其中一列(从光栅中取出)的RGB十六进制代码对点进行着色,但我似乎找不到将其作为颜色空间写入的方法。虽然我可以调用单个十六进制代码,但它将它们视为因素而不是颜色规范。我发现我可以做的是a)指定定性颜色,或b)应用颜色渐变。我似乎找不到将RGB色彩空间应用于数据的方法。

有没有办法在data.frame(在R中工作)中指定一个列,该列具有与绘图散点图中每个单独点相关联的十六进制或RGB代码?我唯一的选择是制作3色(R-G-B)色彩渐变,并将颜色映射到它?有没有办法让RGB颜色成为图形标记?

stack.exa<-data.frame(X= c(470219.59,470203.74,470215.49,470218.41,470214.88),
                  Y= c(5013443.99,5013439.34,5013432.39,5013437.72,5013436.6),
                  Z= c(645.62,629.83,638.78,617.32,639.54),
                  R= c(49,88,69,68,64),
                  B= c(76,134,102,97,96),
                  G= c(69,91,78,75,79),
                  HEX=c("#314545","#585B5B","#454E4E","#444B4B","#404F4F"))
trace.test<-plot_ly(stack.exa,
             x = ~X, y = ~Y, z = ~Z,
             color=~HEX,
             marker=list(
                         size = 20,
                         line = list(color = 'rgba(0, 0, 0, 0)',
                                     width = 0)
                         )
            )

1 个答案:

答案 0 :(得分:1)

根据for i in {1..10}; \ do xcodebuild \ test-without-building \ -workspace MyApp.xcworkspace \ -scheme Debug \ -destination 'platform=iOS Simulator,OS=11.2,name=iPhone 8' \ -only-testing:MyApp.Tests/TestFile/myTest; done

  

color(...)为避免缩放,请用I()

换行

将代码修改为?plot_ly()似乎有效。但是,我很难说,因为所有颜色看起来都非常相似(五种灰色阴影......)