Roc*_*cer 2 r numeric legend ggplot2
假设我使用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)
Run Code Online (Sandbox Code Playgroud)
如何更改图例的比例/名称/类别.如果"类别"是因素,我找到了有关如何执行此操作的信息,但我不知道如何使用数值来执行此操作.我需要保持数字,否则它不再适用于点的大小.
我的真实数据集有大约100个wt值(从1-150开始),我想保留5个值.(ggplot 2给我2 - > 50和100)
1)如何更改该图例的比例?例如,在mtc示例中,我只想要2个大小为2和5的点
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)
Run Code Online (Sandbox Code Playgroud)
然后只需将图例中的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"))
Run Code Online (Sandbox Code Playgroud)