R 在ggplot/Plotly中设置图例的alpha
如何使R 在ggplot/Plotly中设置图例的alpha,r,ggplot2,plotly,R,Ggplot2,Plotly,如何使绘图中的图例不继承绘图中使用的alpha值 我知道如何使用ggplot2执行此操作:guides(color=guide\u legend(override.aes=list(alpha=1))但这不能转换为plotly 对于绘图,是否有类似的选项?当从ggplot转换为plotly时,无论我做什么,它似乎都会拾取图例的alpha值 示例代码: library(ggplot2) library(plotly) D <- rbind(beaver1,beaver2) D$beaver
绘图中的图例不继承绘图中使用的alpha值
我知道如何使用ggplot2执行此操作:guides(color=guide\u 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)
库(ggplot2)
图书馆(绘本)
据我所知,你无法控制图例的不透明度
如果查看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
库(ggplot2)
图书馆(绘本)
D谢谢你。在这种情况下,层顺序并不重要,看起来第二个解决方案可以解决顺序重要的情况。
gp$x$data[[1]]$showlegend <- FALSE
gp$x$data[[2]]$showlegend <- FALSE
gp$x$data[[5]]$showlegend <- TRUE
gp$x$data[[6]]$showlegend <- TRUE