2011-06-23 73 views
1

我正在用ggplot2开发一个R中的图,该ggplot2有两个geom(一个geom_line和一个geom_text)。它绘制线图,然后将文本标签放置在每个线段的起点和终点上。如何在ggplot2中有两个geoms时删除背景和标签

(myplot <- ggplot(data=datatable, aes(x, y, group = group,colour = group, label=mylabels)) + geom_line(size = 1.5)) 
    myplot + geom_text(color = "black") 

现在我的问题是,我该怎么办在GGPLOT2以下任务,他们都工作时,我只有一个GEOM但与这两个(看来他们在此改变对方)

1 - 制作背景白色。 以下代码适用于geom_line,但一旦添加geom_text,它就会变成灰色。即使我在geom_text之后添加此行,它也会删除图表上的点标签。

myplot + opts(panel.background = theme_rect(fill = "white", colour = NA)) 

2- x标签和x标签格式。再下面的代码只有一个GEOM,但休息的作品时,我有第二GEOM

myplot + scale_x_date(format="%m", 'my x label') 

3-虽然我们在它,我怎样才能把传说在底部和水平传播它(P +选择采用(传说.position =“bottom”))垂直方向的点差看起来很愚蠢。

+1

请添加可重复的代码片段。 – Chase

回答

3

对于1),在涉及它的第二次和第三次调用之后,您还没有保存对象myplot。这适用于我:

set.seed(3) 
dat <- data.frame(x = runif(10), y = rnorm(10), group = gl(2,5), 
        mylabel = paste(1:10, "foo")) 

require(ggplot2) 
myplot <- ggplot(data=dat, aes(x, y, group = group, colour = group, 
       label = mylabel)) + geom_line(size = 1.5) 

myplot + geom_text(color = "black") + 
    opts(panel.background = theme_rect(fill = "white", colour = NA)) 

请注意,我只有一次保存myplot。涉及myplot的第二个电话会在运行中修改它,但不会保存它。

其余的,你需要提供一个可重复的例子。

+0

谢谢它解决了我的问题。我只是没有myplot < - myplot + geom_text ...在我的代码中。非常感谢 – Mark