R ggplot2删除图例之间的间距双轴打印

R ggplot2删除图例之间的间距双轴打印,r,ggplot2,legend,facet-wrap,grob,R,Ggplot2,Legend,Facet Wrap,Grob,我有两个图,我正试图用双y轴合并。我很难摆脱我试图合并的两个传奇之间的空间。以下是我的两张图表: require(ggplot2) download.file("https://www.dropbox.com/s/y6qg4432x2l2hbr/data1.csv?dl=1","data1.csv") download.file("https://www.dropbox.com/s/jv5iuarx1qa3vzf/data2.csv?dl=1","data2.csv") data1<-re

我有两个图,我正试图用双y轴合并。我很难摆脱我试图合并的两个传奇之间的空间。以下是我的两张图表:

require(ggplot2)
download.file("https://www.dropbox.com/s/y6qg4432x2l2hbr/data1.csv?dl=1","data1.csv")
download.file("https://www.dropbox.com/s/jv5iuarx1qa3vzf/data2.csv?dl=1","data2.csv")
data1<-read.csv("data1.csv")
data2<-read.csv("data2.csv")

> head(data1)  # https://www.dropbox.com/s/y6qg4432x2l2hbr/data1.csv?dl=1 
  base pos    type    values labels valueme2
1    A   1  mean_r 1.0200473   2771 13.56172
2    A   1 quant_r 0.6450000   2771 13.56172
4    C   1  mean_r 6.1059971    343 56.25043
5    C   1 quant_r 3.5411200    343 56.25043
7    G   1  mean_r 0.9848452     84 13.26626
8    G   1 quant_r 0.5639600     84 13.26626

> head(data2)  # https://www.dropbox.com/s/jv5iuarx1qa3vzf/data2.csv?dl=1
   base pos  type     values labels valueme2
3     A   1 p_val  0.7653560   2771 13.56172
6     C   1 p_val 51.2504280    343 56.25043
9     G   1 p_val  0.3350526     84 13.26626
12    T   1 p_val  2.0327415   2770 13.56881
15    A   2 p_val 51.2504280    343 56.25043
18    C   2 p_val  0.5417566    484 13.27813

prettify <- theme(panel.background = element_rect(fill = NA), 
                            panel.grid.major.y = element_blank(),
                            panel.grid.major.x = element_line(size=.1, color="gray",linetype="dotted"), 
                            panel.grid.minor.y = element_blank(),
                            panel.grid.minor.x = element_line(size=.1, color="gray"))

graphme1 <- ggplot(data1, aes(x = base, y = values, colour = type, group = type)) + 
            geom_line(size=1.3) + facet_wrap( ~ pos, ncol = 7) + 
            scale_color_manual(values=c("#7CAE00", "#00BFC4")) + 
            theme_bw() %+replace% prettify +
            theme(legend.position="bottom")

graphme2 <- ggplot(data2, aes(x = base, y = values, colour = "p_val", group = type)) + 
            geom_text(aes(y=(valueme2 + 0.3),label = labels, size = 1), colour="black",alpha=0.65,show_guide=F) + 
            geom_line(size=1.3) + facet_wrap( ~ pos, ncol = 7) + 
            theme_bw() %+replace% prettify +
            theme(legend.position="bottom")
require(ggplot2)
下载文件(“https://www.dropbox.com/s/y6qg4432x2l2hbr/data1.csv?dl=1“,“data1.csv”)
下载文件(“https://www.dropbox.com/s/jv5iuarx1qa3vzf/data2.csv?dl=1“,“data2.csv”)
数据1负责人(数据2)#https://www.dropbox.com/s/jv5iuarx1qa3vzf/data2.csv?dl=1
基本pos类型值标签值ME2
3 A 1 p_val 0.7653560 2771 13.56172
6 C 1 p_val 51.2504280 343 56.25043
9 G 1 p_val 0.3350526 84 13.26626
12 T 1 p_val 2.0327415 2770 13.56881
15 A 2 p_val 51.2504280 343 56.25043
18 C 2 p_val 0.5417566 484 13.27813

使用两个不同比例的y轴进行美容。在你的例子中,它会让读者认为
p\u val
主要等同于
mean\r
(事实并非如此)

正如我在评论中所说,最好的做法是将数据合并到一个数据帧中,然后进行绘图:

dat12 <- rbind(data1,data2)

ggplot(dat12, aes(x = base, y = values, colour = type, group = type)) + 
  geom_line(size=1) + 
  facet_grid(. ~ pos) + 
  theme_bw() + 
  theme(panel.background = element_rect(fill = NA),
        panel.grid.major.y = element_blank(),
        panel.grid.major.x = element_line(size=.1, color="gray",linetype="dotted"),
        panel.grid.minor.y = element_blank(),
        panel.grid.minor.x = element_line(size=.1, color="gray"),
        legend.position="bottom")
其中:


你能让你的例子重现吗?@RomanLuštrik当然,这是数据1的链接,这是数据2的链接:请在你的帖子中包含所有相关数据。链接到异地资源可能会使它在将来变得不那么有用。谢谢,我会记住这一点。我将head(data1)和head(data2)添加到post中查看您的数据,最简单的方法就是
rbind(data1,data2)
,然后进行绘图。
dat12 <- rbind(data1,data2)

ggplot(dat12, aes(x = base, y = values, colour = type, group = type)) + 
  geom_line(size=1) + 
  facet_grid(. ~ pos) + 
  theme_bw() + 
  theme(panel.background = element_rect(fill = NA),
        panel.grid.major.y = element_blank(),
        panel.grid.major.x = element_line(size=.1, color="gray",linetype="dotted"),
        panel.grid.minor.y = element_blank(),
        panel.grid.minor.x = element_line(size=.1, color="gray"),
        legend.position="bottom")
ggplot(dat12, aes(x = base, y = values, color = type, group = type)) + 
  geom_line(size=1) + 
  facet_grid(type ~ pos, scales="free_y") + 
  theme_bw() + 
  theme(panel.background = element_rect(fill = NA),
        panel.grid.major.y = element_blank(),
        panel.grid.major.x = element_line(size=.1, color="gray",linetype="dotted"),
        panel.grid.minor.y = element_blank(),
        panel.grid.minor.x = element_line(size=.1, color="gray"),
        legend.position="bottom")