如何在plotly
图中获取图例,以便不继承图中使用的alpha值?
我知道如何使用ggplot2执行此操作:guides(colour = guide_legend(override.aes = list(alpha=1)))
但这并不会转化为情节。
plotly
有类似的选项吗?从ggplot
转换为plotly
时,无论我做什么,它似乎都会获取图例的alpha值。
示例代码:
library(ggplot2)
library(plotly)
D <- rbind(beaver1,beaver2)
D$beaver= c(rep('A',nrow(beaver1)),rep('B',nrow(beaver2)))
p <- ggplot(D,aes(x=time,y=temp,color=beaver,group=day))+
geom_point(alpha=.1,show.legend = F)+
geom_line(alpha=.1,show.legend = F)+
geom_smooth(se=F)
ggplotly(p)
ggplot版本:
情节版:
答案 0 :(得分:1)
据我所知,你无法控制传奇的不透明度。
如果查看ggplotly
的字符串输出,可以看到有2x3的跟踪。每个海狸有3条痕迹,一条用于标记,一条用于连接线,另一条用于平滑线。第一个跟踪确定了图例,因此您可以重新排列ggplot
,它应该可以正常工作。
library(ggplot2)
library(plotly)
D <- rbind(beaver1,beaver2)
D$beaver= c(rep('A',nrow(beaver1)),rep('B',nrow(beaver2)))
p <- ggplot(D,aes(x=time,y=temp,color=beaver,group=day))+
geom_smooth(se=F)+
geom_point(alpha=.1,show.legend = F)+
geom_line(alpha=.1,show.legend = F)
gp <- ggplotly(p)
gp
另一个解决方案是打开和关闭传说。
gp$x$data[[1]]$showlegend <- FALSE
gp$x$data[[2]]$showlegend <- FALSE
gp$x$data[[5]]$showlegend <- TRUE
gp$x$data[[6]]$showlegend <- TRUE