R ggplot2删除图例之间的间距双轴打印
我有两个图,我正试图用双y轴合并。我很难摆脱我试图合并的两个传奇之间的空间。以下是我的两张图表: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
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")