繁体   English   中英

在R Plotly中命名3D曲面图的图例

[英]Naming legends of 3D Surface plots in R Plotly

我想知道是否有一种方法可以命名在图上等效于trace方法的多个曲面上通过图显示的图例:

在绘图上使用多表面示例:

https://plot.ly/r/3d-surface-plots/

library(plotly)
    z <- c(
  c(8.83,8.89,8.81,8.87,8.9,8.87),
  c(8.89,8.94,8.85,8.94,8.96,8.92),
  c(8.84,8.9,8.82,8.92,8.93,8.91),
  c(8.79,8.85,8.79,8.9,8.94,8.92),
  c(8.79,8.88,8.81,8.9,8.95,8.92),
  c(8.8,8.82,8.78,8.91,8.94,8.92),
  c(8.75,8.78,8.77,8.91,8.95,8.92),
  c(8.8,8.8,8.77,8.91,8.95,8.94),
  c(8.74,8.81,8.76,8.93,8.98,8.99),
  c(8.89,8.99,8.92,9.1,9.13,9.11),
  c(8.97,8.97,8.91,9.09,9.11,9.11),
  c(9.04,9.08,9.05,9.25,9.28,9.27),
  c(9,9.01,9,9.2,9.23,9.2),
  c(8.99,8.99,8.98,9.18,9.2,9.19),
  c(8.93,8.97,8.97,9.18,9.2,9.18)
)
dim(z) <- c(15,6)
z2 <- z + 1
z3 <- z - 1

p <- plot_ly(showscale = FALSE) %>%
  add_surface(z = ~z) %>%
  add_surface(z = ~z2, opacity = 0.98) %>%
  add_surface(z = ~z3, opacity = 0.98)

如果我将绘图代码更改为以下代码:

p <- plot_ly(showscale = TRUE) %>%
  add_surface(z = ~z, name="Example 1") %>%
  add_surface(z = ~z2, opacity = 0.98,name="Example 2") %>%
  add_surface(z = ~z3, opacity = 0.98,name="Example 3")

根据以下所示的跟踪示例,该名称未如预期那样显示在图例上方:

https://plot.ly/r/legend/#legend-names

library(plotly)
library(tidyr)
library(plyr)

data <- spread(Orange, Tree, circumference)
data <- rename(data, c("1" = "Tree1", "2" = "Tree2", "3" = "Tree3", "4" = "Tree4", "5" = "Tree5"))

p <- plot_ly(data, x = ~age, y = ~Tree1, type = 'scatter', mode = 'lines', 
        legendgroup = 'group1', name = 'Zone 1 - Tree 1') %>%
  add_trace(y = ~Tree2, legendgroup = 'group2', name = 'Zone 2 - Tree 1') %>%
  add_trace(y = ~Tree3, legendgroup = 'group1', name = 'Zone 1 - Tree 2') %>%
  add_trace(y = ~Tree4, legendgroup = 'group2', name = 'Zone 2 - Tree 2') %>%
  add_trace(y = ~Tree5, legendgroup = 'group1', name = 'Zone 1 - Tree 3') 

有没有办法在图例标签的多个表面上获得等效的结果?

您在寻找这个吗?

p <- plot_ly() %>%
    add_surface(z = ~z, colorbar=list(title='Example 1')) %>%
    add_surface(z = ~z2, opacity = 0.98, colorbar=list(title='Example 2')) %>%
    add_surface(z = ~z3, opacity = 0.98, colorbar=list(title='Example 3'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM