我需要制作以下类型图表
我一直在尝试使用ggplot2,做两个图形,粘贴它们并放线。但是,我不能将行y = 10。 y = 10行必须遍历整个图形,如图像所示。
他所制作的代码如下
<a>
更新:使用评论中的链接,我到达
library(ggplot2)
require(gridExtra)
#test value
x=0:1:15
y=0:1:15
z=15:1:0
#join values
ma<-data.frame(x,y)
ma1<-data.frame(z,y)
#define graph
a<-ggplot(data=ma)+geom_line(mapping=aes(x,y))
b<-ggplot(data=ma1)+geom_line(mapping=aes(z,y))
#join graph
c<-grid.arrange(a, b, ncol=2)
#try insert line y=10
c + geom_hline(yintercept = 10)
[![enter image description here][2]][2]
Maybe using facets is possible, anyway All help is welcome
然而,我获得了l z r t测试的位置。 任何人都知道如何更准确地获得这些职位? 大家好
答案 0 :(得分:2)
您需要将水平线添加到ggplots而不是grid.arrange。
a <- ggplot(data=ma)+geom_line(mapping=aes(x,y))
b <- ggplot(data=ma1)+geom_line(mapping=aes(z,y))
h <- geom_hline(yintercept = 10)
#join graph
grid.arrange(a+h, b+h, ncol=2)
您还可以将线条类型设置为获取虚线,并将主题设置为bw以接近所需的图形。
h2 <- geom_hline(yintercept = 10, lty=5)
bw <- theme_bw()
#join graph
grid.arrange(a+h2+bw, b+h2+bw, ncol=2)
原则上,我不会使用水平线遍历这些图,但上面发布的评论提供了有关如何执行此操作的适用链接。