2016-08-13 134 views
0

我已经设置了我的数据集,因此只包含三个站点,因为我只想绘制三个站点,下面的代码似乎不适用于ggplot。任何人有任何想法为什么?不知道为什么这个子集不在ggplot中工作

rm(list=ls()) 
require(ggplot2) 
require(reshape2) 
require(magrittr) 
require(dplyr) 
require(tidyr) 
setwd("~/Documents/Results") 
mydata <- read.csv("Metals sheet R.csv") 
L <- subset(mydata, Site =="B1"| Site == "B2"| Site == "B3", select =  c(Site,Date,Al)) 
L$Date <- as.Date(L$Date, "%d/%m/%Y") 
ggplot(data=L, aes(x=Date, y=Al, xaxt="n", colour=Site)) + 
geom_point() + 
labs(title = "Total Al in the Barlwyd and Bowydd 
    19/03/2015.", x = "Site", 
    y = "Total concentration (mg/L)") + 
    scale_x_date(date_breaks = "1 month", labels = date_format("%m")) 

它似乎在ggplot线之后动摇。提前致谢。我有双重检查,但不能看到任何错误?我可能需要一种方法来只绘制我的21个网站中的三个。

我的子集化的L个数据组的头看起来是这样的(X58代表)

Date   Site  Al 
12/08/2015 B1   22.3 
12/08/2015 B2   23.4 
12/08/2015 B3   203 

三江源提前。

回答

1

我认为xaxt = "n"是错误的。 ggplot aes函数仅用于将数据中的变量匹配以绘制元素。要删除ggplot中的x轴文本,请使用theme函数,例如ggplot2 plot without axes, legends, etc

在一个单独的说明,%in%运营商提供从列中选择值的子集的更快捷的方法:

subset(mydata, Site %in% c("B1", "B2", B3"))

+0

谢谢,这个工作进行到底!干杯。 :-) – LucySHE