我终于开始了解Hadley Wickham令人印象深刻的ggplot2包,并且正在阅读他的书。
在我的工作中,我经常使用文本标签来显示散点图。这意味着后跟text()的命令是plot()命令。我使用cex快速地将字体大小调整为我想要的大小。
我使用qplot快速创建了一个文本散点图。但是我不能快速调整尺寸。下面是一个愚蠢的代码示例:
data(state)
qplot(Income,Population,data=as.data.frame(state.x77),geom=c("smooth","text"),method="lm",label=state.abb)而在过去,我会这样做:
plot(xlim=range(Income),ylim=range(Population),data=state.x77,type="n")
text(Income,Population,state.abb,data=state.x77, cex=.5)如果我想要将默认文本大小减半(哦,而且我必须手动进行线性回归,并添加abline()以获得回归行--通过ggplot2将所有这些都做得很好)。
我知道我可以通过size添加一个大小调整,但这不是我习惯的相对大小调整。哈德利在推特上告诉我,尺寸是以毫米为单位的,这对我来说并不完全直观。由于我经常调整绘图的大小,无论是在R中还是在LaTeX中,绝对比例对我来说都不是很有用。
我一定是漏掉了一些非常简单的东西。那是什么?
哦--我知道我还没有真正使用过强大的ggplot2命令--只是想先把简单的东西写下来。
发布于 2010-12-25 05:38:59
我认为你正在尝试调整文本本身的大小,而不是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)发布于 2010-12-25 04:40:54
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))我认为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)如果在qplot的geom参数中给出了"text“,则使用默认大小,然后被覆盖(或者像本例中一样被覆盖)。把支票给蔡斯。(编辑:应制作大小为2.5)
Edit2:深入挖掘,但我找到了让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)一定有更好的办法...
发布于 2014-01-02 10:40:45
qp <- qplot(Income, Population,data=as.data.frame(state.x77),
geom="smooth",method="lm",label=state.abb)
qp + geom_text(aes(label = state.abb, cex = 1.2))Add cex inside aes将获得您想要的内容,引用自:
aes创建一个未计算表达式的列表。此函数还执行部分名称匹配,将颜色转换为颜色,并将旧样式R名称转换为ggplot名称(例如,pch to shape,cex to size)
https://stackoverflow.com/questions/4528161
复制相似问题