我正在将算法的不同实现作为项目的一部分进行基准测试,并希望简洁地在R中可视化这些数据。我以为我可以为不同的颜色分配不同的版本,并使用图表的x轴来表示尺寸,使用y轴来表示时间。请告诉我如何在R中绘制这些结果。如果还有其他任何方式看起来更好,我也很乐意跟随。
Size
8192 2 1 1 1
65536 10 5 4 4
1048576 81 60 63 52
8388608 675 555 572 464
16777216 1334 1124 1171 953
33554432 2780 2348 2438 2014
67108864 5853 5229 4957 4238
134217728 12437 10303 10521 8921
| __________
答案 0 :(得分:4)
将@BenBolker的答案放在这里以解决问题。 (如果您愿意,Ben可以随意将其复制/粘贴为您自己的。)
以下是您的示例输入:
mytab <- structure(list(Size = c(8192L, 65536L, 1048576L, 8388608L, 16777216L,
33554432L, 67108864L, 134217728L), Version1 = c(2L, 10L, 81L,
675L, 1334L, 2780L, 5853L, 12437L), Version2 = c(1L, 5L, 60L,
555L, 1124L, 2348L, 5229L, 10303L), Version3 = c(1L, 4L, 63L,
572L, 1171L, 2438L, 4957L, 10521L), Version4 = c(1L, 4L, 52L,
464L, 953L, 2014L, 4238L, 8921L)), .Names = c("Size", "Version1",
"Version2", "Version3", "Version4"), class = "data.frame", row.names = c(NA,
-8L))
现在是制作情节
library(reshape2);
library(ggplot2);
d <- melt(mytab, "Size");
ggplot(d,aes(x=Size,y=value,colour=variable))+
geom_point()+
geom_line()+
scale_x_log10()+scale_y_log10()
给出了