如何刻面 plot_ly() 图表?
Posted
技术标签:
【中文标题】如何刻面 plot_ly() 图表?【英文标题】:How to facet a plot_ly() chart? 【发布时间】:2021-07-09 08:43:35 【问题描述】:使用ggplot2
和plotly
与facet_wrap()
制作交互式散点图。
library(ggplot2)
library(plotly)
g<-iris%>%
ggplot(aes(x = Sepal.Length, y = Sepal.Width, color = Species))+
geom_point()+
facet_wrap(vars(Species))
ggplotly(g)
是否可以使用plot_ly()
函数“刻面”?文档建议subplot()
...
p<-iris%>%
group_by(Species)%>%
plot_ly(x = ~Sepal.Length, y = ~Sepal.Width, color = ~Species, type = "scatter")%>%
subplot() ##Something else here?
p
【问题讨论】:
【参考方案1】:1:使用do()
和subplot()
方法对plot_ly
图表进行分面:
library(plotly)
iris%>%
group_by(Species) %>%
do(p=plot_ly(., x = ~Sepal.Length, y = ~Sepal.Width, color = ~Species, type = "scatter")) %>%
subplot(nrows = 1, shareX = TRUE, shareY = TRUE)
2:使用新的 dplyr::group_map()
函数网格化 plot_ly
图表。
library(dplyr)
iris%>%
group_by(Species) %>%
group_map(~ plot_ly(data=., x = ~Sepal.Length, y = ~Sepal.Width, color = ~Species, type = "scatter", mode="markers"), keep=TRUE) %>%
subplot(nrows = 1, shareX = TRUE, shareY=TRUE)
【讨论】:
以上是关于如何刻面 plot_ly() 图表?的主要内容,如果未能解决你的问题,请参考以下文章