gpt4 book ai didi

r - ggplot 2 - 用数值更改图例类别(无因素)

转载 作者:行者123 更新时间:2023-12-01 16:43:07 24 4
gpt4 key购买 nike

假设我使用 mtcars 数据集。我想根据重量(wt)设置点的大小。如果我这样做,如下所示,R/ggplot2 将为我提供一个包含 4 个类别 (2,3,4,5) 的图例。

library(ggplot2)
mtc <- mtcars
p1 <- ggplot(mtc, aes(x = hp, y = mpg))
p1 <- p1 + geom_point(aes(size = wt))
print(p1)

如何更改图例的比例/名称/类别。我找到了有关如何执行此操作的信息(如果“类别”是因素),但我不知道如何使用数值执行此操作。我需要将它们保留为数字,否则它不再适用于点的大小。

我的真实数据集大约有 100 个 wt 值(从 1 到 150 的所有值),我想保留 5 个值。 (ggplot 2 给我 2 -> 50 和 100)

1) 如何更改该图例的比例?例如,在 mtc 示例中,我只想要大小为 2 和 5 的 2 个点

2)我正在考虑创建类别,例如:

mtc$wtCat[which(mtc$wt<=2)]=1
mtc$wtCat[which(mtc$wt>2 & mtc$wt<=3)]=2
mtc$wtCat[which(mtc$wt>3)]=3

p1 <- ggplot(mtc, aes(x = hp, y = mpg))
p2 <- p1 + geom_point(aes(size = wtCat), stat="identity")
print(p2)

然后将图例中的 1,2,3 重命名为 <=2, 2-3 和 >3,但我也不知道如何做到这一点。

非常感谢。

最佳答案

您可以使用scale_size_continuous()并使用参数breaks=设置您想要在图例中看到的级别,并使用参数labels=更改如何图例条目已标记。

ggplot(mtcars,aes(hp,mpg,size=wt))+geom_point()+
scale_size_continuous(breaks=c(2,5),labels=c("<=2",">2"))

关于r - ggplot 2 - 用数值更改图例类别(无因素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23370821/

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