19

ドキュメントによると、microbenchmark:::autoplot「ggplot2 を使用して、マイクロベンチマークのタイミングのより読みやすいグラフを生成します。」

涼しい!サンプルコードを試してみましょう:

library("ggplot2")
tm <- microbenchmark(rchisq(100, 0),
                     rchisq(100, 1),
                     rchisq(100, 2),
                     rchisq(100, 3),
                     rchisq(100, 5), times=1000L)
autoplot(tm)

マイクロベンチマーク プロット

ドキュメンテーションには...フワフワしたうねりについては何も表示されませんが、関数作成者によるこの回答からの私の最良の推測は、これは実行にかかった時間の平滑化された一連の箱ひげ図のようなものであり、上部と下部があるということです形状の本体に接続された四分位数。多分?これらのプロットは、ここで何が起こっているのかを知るにはあまりにも興味深いように見えます。

これは何のプロットですか?

4

1 に答える 1

9

簡単な答えは、ヴァイオリン プロットです。

これは、回転したカーネル密度プロットが両側にあるボックス プロットです。


より興味深い(?)答えが長くなります。関数を呼び出すと、autoplot実際に呼び出しています

## class(ts) is microbenchmark
autoplot.microbenchmark

次に、実際の関数呼び出しを調べることができます

R> getS3method("autoplot", "microbenchmark")
function (object, ..., log = TRUE, y_max = 1.05 * max(object$time)) 
{
    y_min <- 0
    object$ntime <- convert_to_unit(object$time, "t")
    plt <- ggplot(object, ggplot2::aes_string(x = "expr", y = "ntime"))
 ## Another ~6 lines or so after this

キーラインは+ stat_ydensity(). ヴァイオリン プロットのヘルプ ページにアクセスすると表示され?stat_ydensityます。

于 2016-09-18T10:13:02.653 に答える