我正在尝试比较数据框中两列的值。我想使用 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 轴,以便我可以更好地看到两条线的差异。
你知道我该怎么做吗? 谢谢
最佳答案
您可以将scale_y_continuous()
与ggplot中的limits参数一起使用。如果只是为了绘图目的,则无需转置。考虑到两条线之间的差异以及 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")
关于r - 如何使用 ggplot 包从数据框的两列中绘制两条线并缩放 y 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55604476/