我正在创建一个图,其中点的大小与给定变量的值成正比,然后我将其平方以增加点之间的大小差异……
# Using example from https://www3.nd.edu/~steve/computing_with_data/11_geom_examples/ggplot_examples.html #
library(ggplot2)
str(mtcars)
p <- ggplot(data = mtcars, aes(x = wt, mpg))
p + geom_point(aes(size = (qsec^2)))

从结果图中,是否有一种方法可以指定在图例中显示的点的大小,并更改图例标签以反映这些值的原始值而不是正方形?(由手工编辑)
发布于 2017-06-15 15:11:00
使用scale_size修改图例。通过设置breaks和labels,您可以生成所需的图形。以下是两个例子。
示例1:构建标度以显示mtcars$qsec的五个数字摘要,并以原始单位显示标签。
library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point(mapping = aes(size = qsec^2)) +
scale_size(name = "qsec",
breaks = fivenum(mtcars$qsec)^2,
labels = fivenum(mtcars$qsec))

示例2:用qsec^2显示图例。expression包装器将使您将标签的格式设置得太好。
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point(mapping = aes(size = qsec^2)) +
scale_size(name = expression(qsec^2),
breaks = c(15, 17, 19, 21)^2,
labels = expression(15^2, 17^2, 19^2, 21^2))

https://stackoverflow.com/questions/44569050
复制相似问题