如何使用geom_smooth()函数突出显示我的图形。 。但我无法得到解决方案。
这是我的数据集:
A1 A2 A3
21.09542 71.06014 0
21.09564 71.06064 1
21.09619 71.06128 1
21.09636 71.06242 2
21.09667 71.06564 0
21.09483 71.06619 3
.....
我计算了A1和A2的方差,并通过ggplot绘制。 下面给出了一段代码:
var.A1 = var(A1)
var.A2 = var(A2)
plt <- ggplot(df4, aes(x = A1, y = A2, colour = A3), pch = 17) +geom_point()
plt + geom_errorbar(aes(x=A1,y=A2, ymin=A2-var.A2, ymax=A2+var.A2),width=0.001)+
geom_errorbarh(aes(xmin=A1-var.A1,xmax=A1+var.A1),height=0.001)
答案 0 :(得分:0)
我不确定你的问题是什么,但是当我尝试使用你的数据时,似乎没有足够的点来产生更顺畅的问题。所以我产生了更多的积分。
# Generate the original data (I think)
raw <- c(
21.09542, 71.06014, 0,
21.09564, 71.06064, 1,
21.09619, 71.06128, 1,
21.09636, 71.06242, 2,
21.09667, 71.06564, 0,
21.09483, 71.06619, 3)
m <- matrix(raw,6,3,byrow=T)
df4 <- data.frame(m)
names(df4) <- c("A1","A2","A3")
df4$A3 <- as.factor(df4$A3)
# Generate a new data set of 100 points with similar statistics
npts <- 100
na1 <- rnorm(npts,mean(df4$A1),sd(df4$A1))
na2 <- rnorm(npts,mean(df4$A2),sd(df4$A2))
na3 <- sample(0:3,npts,replace=T)
df5 <- data.frame(A1=na1,A2=na2,A3=na3)
df5$A3 <- as.factor(df5$A3)
# now plot it
var.A1 = var(df5$A1)
var.A2 = var(df5$A2)
plt <- ggplot(df5, aes(x = A1, y = A2, colour = A3), pch = 17) +geom_point() + geom_smooth()
plt + geom_errorbar(aes(x=A1,y=A2, ymin=A2-var.A2, ymax=A2+var.A2),width=0.001)+
geom_errorbarh(aes(xmin=A1-var.A1,xmax=A1+var.A1),height=0.001) + geom_smooth()
print(plt)
这就是情节的样子。