我正在尝试比较数据框两列的值。我想使用ggplot并绘制两条线,以指示第一列中的所有值都大于第二列。
这是我的df:
C1 <- c(-1.363953,4.265514,5.609484,7.524796,2.562210,7.214769, 4.667354,4.950837,4.134733,7.540626)
C2 <- c(-1.541836,4.248582,5.557042,7.475255,2.424585,7.125046,4.524404 4.890195,3.945435,7.488123)
C3 <- seq(1:10)
Name <- paste(letters[1:10])
df <- data.frame(Name = paste(letters[1:10]), C1, C2,C3)
Name C1 C2. C3
a -1.363953 -1.541836 1
b 4.265514 4.248582 2
c 5.609484 5.557042 3
d 7.524796 7.475255 4
e 2.562210 2.424585 5
f 7.214769 7.125046 6
g 4.667354 4.524404 7
h 4.950837 4.890195 8
i 4.134733 3.945435 9
j 7.540626 7.488123 10
首先,我要转置数据。 tt <-t(df) 这是我的命令来绘制值:
matplot(x<- 1:10, cbind(tt[2,],tt[3,]),type="l",col=c("red","green"),lty=c(1,1))
我想使用ggplot函数并缩放y轴,以便可以更好地看到两行的差异。
您知道我该怎么做吗? 谢谢
答案 0 :(得分:2)
您可以将scale_y_continuous()
与ggplot中的limit参数一起使用。如果仅出于绘图目的,则无需转置。考虑到两条线之间的差异以及y轴上数据点的总跨度,您将永远无法真正使它们之间的差异更容易看到而不会丢失一些数据点。您可以尝试在不同的颜色背景上使用不同的颜色线或线型,以使差异更加明显吗?
ggplot(data = df, aes(x = C3, y = C1))+
scale_y_continuous(limits = c(2.4,7.7))+
geom_line(aes(x = C3, y = C1),colour = "red")+
geom_line(aes(x = C3, y = C2),colour = "green")
答案 1 :(得分:0)