我正在研究网络数据中的某些模式,并且标注行有一些问题,我有多个行类:
现在,堆栈溢出帮助我达到了这一点(谢谢!),但我觉得我已经碰到了我需要做的事情:
一个。提供第3行
的图例条目B中。标记图表上的每一行(按照#1#2#3 - 总共8行)
这是我到目前为止的代码:
p <- ggplot(network_data, aes(x=timeofday,y=dspeed, colour=factor(network)))+stat_smooth(method="loess",formula=y~x,se=FALSE)
p <- p + stat_function(fun=function(x)4000, geom="line", linetype="dashed", aes(colour="Baseline"))
p <- p + xlab("Time of Day (hr)") + ylab("Download Speed (ms)")
p <- p + theme(axis.line=element_line(colour="black"))
# add the gam line, colouring it purple for now
q <- layer(data=network_data, mapping=aes(x=timeofday,y=dspeed), stat="smooth"
, stat_params=list(method="gam", formula=y~s(x), se=FALSE), geom="smooth", geom_params=list(colour="purple"), position=position_identity())
graph <- p+q # add the layer
#legend
graph <- graph+scale_colour_discrete(name="network")
# set up the origin correctly and axes etc
graph2 <- graph + scale_y_continuous(limits=c(0,6500), expand=c(0,0), breaks=c(0,1000,2000,3000,4000,5000,6000)) + scale_x_datetime(limits=as.POSIXct(c("2015-04-13 00:00:01","2015-04-13 23:59:59")), expand = c(0, 0), breaks=date_breaks("1 hour"), labels=date_format("%H"))
很高兴考虑其他软件包,但ggplot2似乎是迄今为止最好的。
无论如何都要“自动”(通过编程)这样做,因为我试图自动生成这些图形?
我已将数据作为.Rda文件提供:
https://dl.dropboxusercontent.com/u/5268020/network_data.Rda
这是当前情节的图像:
答案 0 :(得分:0)
对于q B,请尝试annotate
并手动编码每行标签的位置和文字。鉴于传说似乎没必要。
http://docs.ggplot2.org/current/annotate.html