如何刻面 plot_ly() 图表?

Posted

技术标签:

【中文标题】如何刻面 plot_ly() 图表?【英文标题】:How to facet a plot_ly() chart? 【发布时间】:2020-01-25 22:18:27 【问题描述】:

使用ggplot2plotlyfacet_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() 图表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在R中更改Plotly Toolbar的大小

从 R 中的 Plotly 导出 PNG 文件

在 R 中使用 plot_ly 单独更改图例

R plotly add_trace 到带有颜色组的图表

如何修改 facet_wrap 条的宽度?

shinyapp 中的绘图对输入没有反应