Qu'est-ce que autoplot?microbenchmark en fait l'intrigue?
d'Après les docs, microbenchmark:::autoplot
"utilise ggplot2 pour produire un graphique plus lisible des minuteries microbenchmark."
Cool! Essayons le code exemple:
library("ggplot2")
tm <- microbenchmark(rchisq(100, 0),
rchisq(100, 1),
rchisq(100, 2),
rchisq(100, 3),
rchisq(100, 5), times=1000L)
autoplot(tm)
je ne vois rien sur la...visqueux ondulations dans la documentation, mais ma meilleure supposition de cette réponse par la fonction de créateur c'est que c'est comme lissée série de boxplots du temps pris pour exécuter, avec les quartiles supérieur et inférieur connecté sur le corps de la forme. Peut-être? Ces parcelles semblent trop intéressantes pour ne pas savoir ce qui se passe ici.
Qu'est-ce un complot?
1 réponses
La réponse courte est un violon parcelle:
il s'agit d'un tracé en boîte avec un tracé en rotation de la densité du grain de chaque côté.
le plus long plus intéressant(?) réponse. Lorsque vous appelez l' autoplot
fonction, vous êtes en fait en appelant
## class(ts) is microbenchmark
autoplot.microbenchmark
nous pouvons alors inspecter l'appel de fonction réel via
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
La ligne + stat_ydensity()
. En regardant ?stat_ydensity
vous
venir à la page d'aide sur violon parcelle.