2017-08-25 624 views
0

我正在构造一个变量x和y的散点图。每个点都使用geom_text进行标记。 geom_text的大小由第三个变量z控制。我可以在geom_text中设置最小字体大小吗?

有没有办法指定最小可接受的字体大小?我曾看过this question,但它仅讨论如何将大小设置为固定值。

在下面的示例中,我使用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

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

回答

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)) 
范围