我正在尝试排列两个转换为plotly对象的ggplot对象,并使用一个共同的图例。但是图例出现了重复:
df1 <- read.table(text = "group x y
group1 -0.212201 0.358867
group2 -0.279756 -0.126194
group3 0.186860 -0.203273
group4 0.417117 -0.002592
group1 -0.212201 0.358867
group2 -0.279756 -0.126194
group3 0.186860 -0.203273
group4 0.186860 -0.203273", header = TRUE)
df2 <- read.table(text = "group x y
group1 0.211826 -0.306214
group2 -0.072626 0.104988
group3 -0.072626 0.104988
group4 -0.072626 0.104988
group1 0.211826 -0.306214
group2 -0.072626 0.104988
group3 -0.072626 0.104988
group4 -0.072626 0.104988", header = TRUE)
library(dplyr)
library(ggplot2)
library(plotly)
p1 <- ggplot(df1, aes(x = x, y = y, colour = group)) +
geom_point(position = position_jitter(w = 0.04, h = 0.02), size = 1.8)
p2 <- ggplot(df2, aes(x = x, y = y, colour = group)) +
geom_point(position = position_jitter(w = 0.04, h = 0.02), size = 1.8)
subplot(ggplotly(p1), ggplotly(p2), nrows = 1)
我尝试过
subplot(ggplotly(p1), ggplotly(p2), nrows = 1) %>% layout(showlegend = FALSE)
但整个传说就此消失。
scales="free"
。(2)用facet_grid(. ~ df) +
替换facet_wrap(~ df, scales="free") +
。(3)手动设置范围,例如scale_y_continuous(limits=c(-0.2,0.3))
,x轴也是类似的设置。(4)使用coord_cartesian(xlim=c(-0.3, 0.4), ylim=c(-0.2, 0.4))
手动设置范围。 - eipi10