gpt4 book ai didi

r - 当特定图中没有带有该标签的数据点时,如何在图中添加图例标签?

转载 作者:行者123 更新时间:2023-12-04 20:43:24 25 4
gpt4 key购买 nike

我制作了一系列图(散点图)的 GIF,其中每年显示纬度和经度点,显示物种分布和人口分布。但是,在某些年份,某些物种没有值(即,在那一年没有收集到个体)。这会在 GIF 中产生问题,因为图例之间的图应该是恒定的。

我希望能够在图例中手动包含或插入这些缺失的物种,并相应地使用物种名称和颜色值(即使它们不在显示的图中)。

可重现的示例(虽然我不知道是否有必要):

    #Creating mock longitude and latitude poitns
a <- c("1","1")
b <- c("2","2")
c <- c("3","1")
d <- c("2","1")
e <- c("2","3")
f <- c("3","3")

x <- rbind(a,b,c,d,e,f)
#Assigning species to each observation.
sp <- c("sp1", "sp1", "sp1", "sp1", "sp1", "sp2")
year <- c(2000, 2000, 2000, 1999, 1999, 1999)

x2 <- cbind(x, sp, year)

df <- as.data.frame(x2)
#Subset the df by year, which I have to do in my original dataset.
df99 <- subset(df, year==1999)
df00 <- subset(df, year==2000)

g1999 <- ggplot(data=df99, aes(V1, V2, colour=sp)) + geom_point()
g2000 <- ggplot(data=df00, aes(V1, V2, colour=sp)) + geom_point()

在这种情况下,我想在图例中显示 Sp1 和 Sp2 的标签和颜色。

任何帮助是极大的赞赏!

最佳答案

第一个选择是添加 geom_blank作为绘图调用中的第一层。来自 ?geom_blank :“空白几何不绘制任何内容,但可以成为确保不同地块之间通用比例的有用方法。”。这里我们让geom_blank层使用整个数据集 df。因此,即使只有一部分数据用于由 geom_point 进行的实际绘图。 ,创建了一个包含所有物种的图例。

ggplot(data = df, aes(V1, V2, colour = sp)) +
geom_blank() +
geom_point(data = df99)

enter image description here
ggplot(data = df, aes(V1, V2, colour = sp)) +
geom_blank() +
geom_point(data = df00)

enter image description here

另一种可能性是使用 facet_wrap ,它将每年的地块与一个共同的尺度放在一起。
ggplot(data = df, aes(V1, V2, colour = sp)) +
geom_point() +
facet_wrap(~ year)

enter image description here

关于r - 当特定图中没有带有该标签的数据点时,如何在图中添加图例标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22276761/

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