gpt4 book ai didi

大小映射到变量时的ggplot2 geom_point图例

转载 作者:行者123 更新时间:2023-12-04 23:56:25 29 4
gpt4 key购买 nike

我正在创建一个图,其中点的大小与给定变量的值成正比,然后我将其平方以增加点之间的大小差异...

# 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)))

enter image description here

从结果图中,有没有办法指定图例中显示的点的大小并更改图例标签以反射(reflect)原始值而不是这些值的平方? (在情节上手工编辑)

最佳答案

使用 scale_size 修改图例。通过设置 breakslabels 你可以生成你想要的图形。这里有两个例子。

示例 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))

enter image description here

示例 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))

enter image description here

关于大小映射到变量时的ggplot2 geom_point图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44569050/

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