【发布时间】:2012-07-21 22:29:16
【问题描述】:
关于如何提高 geom_text 的分辨率以使分辨率与轴标签的分辨率相当的任何建议?谢谢
df <- data.frame("x" = c(1,2,3,4),"y" = c(15,19,35,47))
p<-ggplot(df,aes(x,y))
p<- p + geom_point(size=1)
p<- p + geom_smooth(method="lm", se=FALSE, formula=y~x)
p<- p + xlab("Better Resolution")
p<- p +ylab("Better Resolution")
p<- p +opts(axis.title.x = theme_text(family="Times",face="bold", size=25, colour = "Black",vjust=0))
p<- p +opts(axis.title.y = theme_text(family="Times",face="bold", size=25, angle =90, colour ="Black",vjust=0.4))
p<- p + geom_text(aes(x = 3.5, y = 37, label ="123456789"),size=12, parse = TRUE)
p
#The zoomed in text looks like this after saving using ggsave
#Information about my version of R and OS
sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
R.version
_
platform x86_64-apple-darwin9.8.0
arch x86_64
os darwin9.8.0
system x86_64, darwin9.8.0
status
major 2
minor 15.1
year 2012
month 06
day 22
svn rev 59600
language R
version.string R version 2.15.1 (2012-06-22)
nickname Roasted Marshmallows
##############
#The actual code I am using looks like this:
#function that creates the line equation
lm_eqn = function(df){
m = lm(y ~ x, df)
eq <- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2,
list(a = format(coef(m)[1], digits = 2),
b = format(coef(m)[2], digits = 2),
r2 = format(summary(m)$r.squared, digits = 3)))
as.character(as.expression(eq))
}
#creates basic plot and adds a line
p<-ggplot(df, aes(x,y))
p<- p + geom_point(alpha=1/10, colour="blue", size=5)
#controls background colours
p<-p + theme_bw()
#adds the labels, titles and makes them pretty
p<- p + geom_smooth(method="lm", se=FALSE, formula=y~x,colour="black")
p<- p + xlab("Species similarity for site pair (Tsim variable 'a')")
p<- p +ylab("Trait similarity for site pairs (Tsim)")
p<- p +opts(title="Species vs. Trait combination similarity 2-5m")
p<- p +opts(plot.title = theme_text(family="Times",face="bold", size=18, colour = "Black",vjust=1))
p<- p +opts(axis.title.x = theme_text(family="Times",face="bold", size=15, colour = "Black",vjust=0))
p<- p +opts(axis.title.y = theme_text(family="Times",face="bold", size=15, angle =90, colour = "Black",vjust=0.4))
#adds the equation
p<- p + geom_text(aes(x = 0.015, y = 0.08, label = lm_eqn(df)),size=6, family="Times",face="italic", parse = TRUE)
ggsave(p,file="tsim.a.0-2.pdf")
【问题讨论】:
-
您可能多次绘制相同的文本标签。尝试改用
annotate,或者给最后一层数据。 -
当我绘制它们时,我看不出两者之间有什么区别。 (而且我很确定他们不会多次绘制它,@baptiste)
-
我也看不出有什么区别,但操作系统可能是没有做抗锯齿的罪魁祸首。
-
感谢您的浏览!尽管@joran 的决议肯定更糟,但我将不得不不同意你的看法。使用数字时可能更突出。我正在使用 geom_text 添加一个描述线条的方程,它看起来很草率。我会将示例文本更改为数字以向您展示我的意思
-
@baptiste 我使用的是 Mac OS X 版本 10.7.4。抗锯齿是什么意思?谢谢