gxplot2中的cex等价物

bsh*_*hor 14 r ggplot2

我终于开始进入Hadley Wickham令人印象深刻的ggplot2套餐,并且正在努力完成他的书.

在我的工作中,我经常使用文本标签显示散点图.这意味着一个plot()命令,然后是text().我曾经cex很快调整到我想要的字体大小.

我使用非常快速地创建了一个文本散点图qplot.但我无法快速调整大小.这是一个愚蠢的代码示例:

data(state)
qplot(Income,Population,data=as.data.frame(state.x77),geom=c("smooth","text"),method="lm",label=state.abb)
Run Code Online (Sandbox Code Playgroud)

在过去,我会这样做:

plot(xlim=range(Income),ylim=range(Population),data=state.x77,type="n")
text(Income,Population,state.abb,data=state.x77, cex=.5)
Run Code Online (Sandbox Code Playgroud)

如果我想的文本大小从我在默认看到减半(哦,我不得不这样做手工线性回归,并添加abline()来获得回归线 - 很高兴做这一切在通过GGPLOT2一个) .

我知道我可以添加尺寸调整大小,但它不是像我以前那样的相对大小调整.哈德利在推特上说我的尺寸是用毫米来衡量的,这对我来说并不完全直观.由于我经常调整绘图的大小,无论是在R还是在LaTeX中,绝对比例对我来说都没有用.

我必须遗漏一些非常简单的东西.它是什么?

哦 - 而且我知道我还没有真正使用过强大的ggplot2命令 - 只是想先把简单的东西放下来.

Cha*_*ase 7

我认为你要调整文本本身的大小,而不是x轴,对吗?

这是使用该ggplot()命令的方法.

ggplot(data = as.data.frame(state.x77), aes(x = Income, y = Population)) +
    geom_smooth(method = "lm", se = FALSE) +
    geom_text(aes(label = state.abb), size = 2.5)
Run Code Online (Sandbox Code Playgroud)


42-*_*42- 5

qp <- qplot(Income, Population,data=as.data.frame(state.x77), 
           geom=c("smooth","text"),
           method="lm", 
           label=state.abb)
qp + opts(axis.text.x = theme_text(size = 5))
Run Code Online (Sandbox Code Playgroud)

我认为Chase可能正确地将点作为"标签":

 qp <- qplot(Income, Population,data=as.data.frame(state.x77),
                geom="smooth",method="lm",label=state.abb)
    qp + geom_text(aes(label = state.abb), size = 2.5)
Run Code Online (Sandbox Code Playgroud)

如果在qplot的geom参数中给出"text",则使用默认大小,然后被覆盖(或者在这种情况下被覆盖).给Chase支票.(编辑:应该大小为2.5)

编辑2:采取挖掘,但我找到了让ggplot2咳出一些默认值的方法:https: //github.com/hadley/ggplot2/blob/master/R/geom-text.r

GeomText$new()$geom$default_aes
proto method (instantiated with ): function (.) 
aes(colour = "black", size = 5, angle = 0, hjust = 0.5, vjust = 0.5, 
    alpha = 1)
Run Code Online (Sandbox Code Playgroud)

必须有一个更好的方式....