我有一个数据框,我想绘制一些数据并突出显示图上的点
time<- as.POSIXct(c("2014-12-10 20:56:53","2014-12-10 20:56:53"), tz= "GMT")
p<-c(49.32, 60)
s<-c("B","")
pointcolor<-c("Green","")
share<-c(35,0)
pointsize<-c(1,0)
shapeType<-c(16,10)
bigDF<-data.frame(time=time, p=p, s=s, pointcolor=pointcolor, share=share, pointsize=pointsize, shapeType=shapeType)
bigDF
数据框看起来像
time p s pointcolor share pointsize shapeType
1 2014-12-10 20:56:53 49.32 B Green 35 1 16
2 2014-12-10 20:56:53 60.00 0 0 10
现在我想将这些点绘制成一条直线并用一个大小为1且形状类型为16的绿点突出显示第一个点。
我称情节
ggplot(bigDF, aes(x=time, y=p)) + geom_line() + geom_point(aes(shape = as.factor(shapeType), size = pointsize, color = pointsize))
我收到此错误:
prettyDate出错(x = x,n = n,min.n = min.n,sep = sep,...): 范围太小,不适合&#39; min.n&#39;
任何帮助?
谢谢。
答案 0 :(得分:1)
您应该将一个因子传递给shape
参数。
ggplot(bigDF, aes(x=time, y=p)) +
geom_line() +
geom_point(aes(shape = as.factor(shapeType), size = pointsize, color = pointsize))