我在两个配置a
和b
中运行了包含不同线程的程序。我将其时间细分为btime
,stime
和vtime
。请参阅下面的数据。我需要绘制堆积图,如下所示。但是,我很难将线程和配置的数量表示为R中的x轴标签。有些人可以帮助在R请求的堆积图中更好地表示这些数据。请参阅下面的图和我正在使用的R代码。
数据:
config threads btime stime vtime
a 2 0.08 0.32 0.09
b 2 0.32 0.19 0.16
a 4 3.72 2841.13 0.22
b 4 18.21 2865.79 5.12
a 8 5.45 2824.46 4.77
b 8 23.27 2790.14 11.89
a 16 57.63 3302.55 94.25
b 16 62.41 4041.19 82.56
a 32 119.08 3705.62 210.14
b 32 183.01 4411.14 234.17
a 64 211.51 2823.69 270.38
b 64 364.38 4091.97 387.83
R代码
> barplot(t(data1[c(3:5)]), ylab="Time(seconds)", sp=c(0.1, 0.2, 1.0, 0.2, 1.0, 0.2, 1.0, 0.2, 1.0, 0.2, 1.0, 0.2),col=c("white","gray20","gray60"))
> legend("topleft",legend=c("btime","stime","vtime"), bty="n",cex=1.5 , horiz=T, adj=0.2, fill=c("white","gray20","gray60"))
答案 0 :(得分:4)
ggplot和lattice在这里非常有用,但是以不同的方式考虑数据是有用的:你会希望将它表示为类似
config threads time_type time_value
[...] [...] vtime 0.03
来自重塑的融化实现了这一点(参见教程http://www.statmethods.net/management/reshape.html)
然后,你可以做一些像...的情节
qplot(config, time_value, data=data, group=time_type, fill=time_type, geom="barplot", facets= .~threads)
(教程@ http://www.r-bloggers.com/basic-introduction-to-ggplot2/)