您好我有以下代码
d1=data.frame(a=c(4,5,6,7),b=as.Date(c('2005-12-31','2006-12-31','2007-12-31','2008-12-31'),"%Y-%m-%d"))
a = ggplot(d1,aes(x=b,y=a)) + geom_line()
a + annotate('text',x=as.Date('2006-12-31','%Y-%m-%d'),y=5.5,label='blah')
但是注释图表真的很笨重。我希望能够使用轴的百分比(例如)或英寸或其他来指定x轴。这有可能,我该怎么做呢?
由于
答案 0 :(得分:2)
我认为您唯一的选择是使用网格对图表进行后处理。您需要公开视口并导航到绘图面板,然后您可以访问所有网格单元。关注Paul Murrell's example:
library(ggplot2)
library(grid)
qplot(1:10, rnorm(10))
# grid.force() # doesn't seem necessary?
# grid.ls()
downViewport("panel.3-4-3-4")
grid.text(label = "Some text", x = unit(0,"inch"),hjust=0)
grid.text(label = "Some text", x = unit(0.5,"npc"),hjust=0.5)
upViewport(0)
答案 1 :(得分:1)
包'scale'包含大量格式化程序选项:例如要将示例中的y轴格式化为百分比,请使用“scale_y_continuous(labels = percent)”
require(ggplot2)
require(scales)
d1=data.frame(a=c(4,5,6,7),b=as.Date(c('2005-12-31','2006-12-31','2007-12-31','2008-12- 31'),"%Y-%m-%d"))
a = ggplot(d1,aes(x=b,y=a)) + geom_line() + scale_y_continuous(labels = percent)
a + annotate('text',x=as.Date('2006-12-31','%Y-%m-%d'),y=5.5,label='blah')
同时查看ggplot docs。