首页 > 解决方案 > R中的剧情:有没有什么设置让图例一开始就不会被选中?

问题描述

如何让生成的图不选择所有的图例? 如下图。

在此处输入图像描述

这是我的代码:

p1 <-
    iris%>%
    group_by(Species)%>%
    plot_ly(x=~Sepal.Length, color= ~Species, legendgroup=~Species)%>%
    add_markers(y= ~Sepal.Width) 

谢谢。

标签: rplotly

解决方案


通过将每条迹线 ( Species) 分别添加到图中,您可以手动设置每条迹线的可见性。

# divide dataset by group
iris_sub <- iris %>% 
  group_split(Species)

# create base for plot
p <- plotly::plot_ly(type="scatter",
                     mode="markers")

# add a trace for each group
lapply(iris_sub, function(f) {
  
  # define visible group (just show virginica)
  vis <- ifelse(unique(f[, "Species"]) == "virginica", TRUE, "legendonly")
  
  # add trace to plot
  p <<- get("p") %>% 
    add_trace(p, data = f, 
              x = ~Sepal.Length,
              y = ~Sepal.Width,
              color = ~Species,
              visible = vis)  
})

在此处输入图像描述


推荐阅读