gpt4 book ai didi

r - r-ggplot2-突出显示选定的点和奇怪的行为

转载 作者:行者123 更新时间:2023-12-03 15:11:57 25 4
gpt4 key购买 nike

我想突出显示选定的点并遇到一些奇怪的行为。首先是一些伪数据:

a <- 1:50
b <- rnorm(50)
mydata <- data.frame(a=a,b=b)
ggplot(mydata,aes(x=a,y=b)) + geom_point()


这可以正常工作。现在,为了突出一些要点,我添加了另一个 geom_point层:

ggplot(mydata[20:40,],aes(x=a,y=b)) + 
geom_point() +
geom_point(aes(x=a[c(10,12,13)],y=b[c(10,12,13)]),colour="red")


请注意,我只显示有限范围的数据( [20:40])。现在出现奇怪的行为:

ggplot(mydata[10:40,],aes(x=a,y=b)) + 
geom_point() +
geom_point(aes(x=a[c(10,12,13)],y=b[c(10,12,13)]),colour="red")


更改所选范围的大小时,出现错误,大致从德语翻译成 Error...: Arguments implying different number of rows。奇怪的是,这随所选范围而变化。 [23:40]将起作用,而 [22:40]将不起作用。



英文错误是:

Error in data.frame(x = c(19L, 21L, 22L), y = c(0.28198, -0.6215,  : 
arguments imply differing number of rows: 3, 31

最佳答案

如果不同层之间的数据不同,则需要为每个层指定新数据。

使用每个需要不同数据的data=...参数的geom参数来执行此操作:

set.seed(1)
mydata <- data.frame(a=1:50, b=rnorm(50))
ggplot(mydata,aes(x=a,y=b)) +
geom_point(colour="blue") +
geom_point(data=mydata[10:13, ], aes(x=a, y=b), colour="red", size=5)

关于r - r-ggplot2-突出显示选定的点和奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11467965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com