1

我在两种配置中运行了一个具有不同线程的程序,a并且b. 我将其时间分解为btimestimevtime。请参阅下面的数据。我需要绘制堆积图,如下所示。但是,我在将线程数和配置数都表示为 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"))

在此处输入图像描述

4

1 回答 1

4

ggplot 和 lattice 在这里非常有用,但是以不同的方式考虑数据很有用:您将希望将其表示为

config threads time_type time_value
[...]  [...]    vtime     0.03

melt from reshape 完成此操作(参见教程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/

于 2012-06-12T02:24:06.047 回答