我有这个散点图:
iris$size <- 2
ggplot(iris) + geom_point(aes(x=Sepal.Width, y=Sepal.Length, color=Species, size=size))
它工作正常。现在我只想让其中一个点比其他点稍大,所以我这样做:
iris$size[3] <- 2.5
ggplot(iris) + geom_point(aes(x=Sepal.Width, y=Sepal.Length, color=Species, size=size))
这造成了不成比例的大小差异!该点iris$size[3]
并不比其余点大 20%,而是更大(可能是 10 倍)。如果我只是在 2.0size=
之外简单地设置为某个常数,例如 2.5,aes()
那么与 2.0 相比,2.5 的大小看起来比预期的要大,但当它设置aes()
为数据框中的列时则不然。
对于alpha=
. 如果我将其设置alpha=
为常数,则不能aes()
正常工作,但如果我将一些点的 alpha 设置为 ,而将一些点的 alpha 设置0.6
为0.65
,则差异会被放大到非常大。
我怎样才能解决这个问题?如何aes()
在调用时从列中获取要解释的 alpha/size 值,就像它们在列之外所做的那样geom_point()
?谢谢。