0

我正在构建一个带有变量 x 和 y 的散点图。每个点都使用 geom_text 标记。geom_text 的大小由第三个变量 z 控制。

有没有办法指定可接受的最小字体大小?我看过这个问题,但它只讨论如何将大小设置为固定值。

在下面的示例中,我使用 mtcars 重现了该问题,geom_text 的大小由“disp”控制。它可以工作,但有些标签太小而无法读取(一旦“disp”的值低于大约 100)。

library(ggplot2)
ggplot(mtcars, aes(y=mpg, x=cyl)) + geom_text(aes(label=rownames(mtcars),size=disp))

例如,我希望能够指定大小由“disp”的值控制,但它不应小于 3。

显然,这意味着更大的文本也被放大了。

4

1 回答 1

1

您可以将范围设置为scale_size

ggplot(mtcars, aes(y=mpg, x=cyl)) + 
    geom_text(aes(label=rownames(mtcars),size=disp)) +
    scale_size(range = c(6, 9))

# a little more reasonable
ggplot(mtcars, aes(y=mpg, x=cyl)) + 
    geom_text(aes(label=rownames(mtcars),size=disp)) +
    scale_size(range = c(2, 5))
于 2017-08-25T16:13:29.327 回答