我已经使用ggplot2在R中写了一些东西,并且不知道它为什么会像它一样。
如果我使用geom_point
和geom_line
绘制数据,则应该通过这些点绘制线条。但它不是连接所有点,而是仅连接水平线上的那些点。我不知道如何处理这个问题。
这是代码的简单版本:
date<-c("2014-07-01","2014-07-02","2014-07-03",
"2014-07-04","2014-07-05","2014-07-06",
"2014-07-07")
mbR<- c(160,163,169,169,169,169,169)
mbL<- c(166,166,166,166,NA, NA, NA)
mb<-data.frame(mbR,mbL)
mb<-data.frame(t(as.Date(date)),mb)
colnames(mb)<-c("Datum","R","L")
mb$Datum<-date
plot1<-ggplot(mb,aes(x=mb$Datum,y=mb$R))+
geom_point(data=mb,aes(x=mb$Datum,y=mb$R,color="R",size=2),
group=mb$R,position="dodge")+
geom_line(data=mb,aes(y=mb$R,color="R",group=mb$R))+
geom_point(aes(y=mb$L,color="L",size=2),position="dodge")
plot1
我使用了群组,否则我无法绘制任何线条,但它仍然没有按照我的意图行事。
我希望你们能帮助我一点点。 :)这可能是一个小错误。
答案 0 :(得分:4)
首先,将您的数据融化为长格式,然后绘制它。熔化数据中名为variable
的列是类别(R
或L
)。名为value
的列存储R
和L
的每个实例的数据值。我们在variable
的调用中按ggplot
对数据进行分组和着色,这为R
和L
提供了单独的行/点。
此外,您只需要在ggplot
的初始调用中提供数据框和列映射。它们会传到geom_point
和geom_line
。此外,当您提供列名称时,您不需要(并且不应该)包含数据框的名称,因为您已经在{{1}中指定了数据框} data
的参数。
ggplot