【问题标题】:Draw a plot using R that represent variation compared to a first value使用 R 绘制一个图,表示与第一个值相比的变化
【发布时间】:2017-11-17 19:23:55
【问题描述】:

我正在对程序的执行速度进行一些小测试。我有一个固定大小的表格,表格中填充了随机数并通过算法进行排序。 我的测试改变了用于对该表进行排序的线程数。这是我输出的结果示例:

size;time;nb_thread;run_id
100000;0.013522;1;1
100000;0.013639;1;2
100000;0.013170;1;3
100000;0.012947;1;4
100000;0.012299;1;5
100000;0.012281;1;6

我想在图表上显示使用 N 个线程的改进(或不改进)。我能够根据它们的平均值显示执行时间的变化,但结果不是直观的。您会产生一种错觉,即使用 2 个线程而不是 1 个线程有很大的改进,但实际上即使有改进,也很小。

所以我想显示只有一个线程的运行之间的变化,然后是后续的。 我什至不知道我要找的东西的名字。我该怎么做?

【问题讨论】:

    标签: r ggplot2 plyr reshape2


    【解决方案1】:

    此图显示了与第一个值相比的所有值。

    library(ggplot2)
    
    ggplot(dt, aes(x = factor(run_id), y = time)) +
      geom_point(size = 3) +
      geom_hline(aes(yintercept = time[1]), color = "blue", size = 2) +
      geom_segment(aes(xend = factor(run_id), yend = time[1]),
                   size = 1, color = "red", linetype = "dashed") +
      scale_x_discrete(name = "Run ID") +
      scale_y_continuous(name = "Time") +
      theme_bw() +
      theme(panel.grid = element_blank()) 
    

    数据

    dt <- read.table(text = "size;time;nb_thread;run_id
    100000;0.013522;1;1
                     100000;0.013639;1;2
                     100000;0.013170;1;3
                     100000;0.012947;1;4
                     100000;0.012299;1;5
                     100000;0.012281;1;6",
                     header = TRUE, sep = ";")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      相关资源
      最近更新 更多