简体   繁体   中英

plot of an empirical cumulative distribution function (was Percentile plot)

How can I generate a plot like the following in R.

在此处输入图像描述

It shows the percent of transactions (x) for a given response time (y), see my own answer below for my own go at it.

Methinks you want a plot of an empirical cumulative distribution function.

So take a look at the documentation for ecdf() as well as the more featureful Ecdf() in the CRAN package Hmisc .

Hmisc Ecdf example: ExecTm array of execution times, HttpProvCall array of time it took to call downstream system and we compare the time we spend with the downstream system with percentiles

> library(Hmisc)
> x <- c(ExecTm,ExecTm-HttpProvCall)
> g <- c(rep('ExecTm',length(ExecTm)),rep('ExecTm-HttpProvCall',length(ExecTm)))
> Ecdf(x, group=g, xlab='Test Results', 
+     label.curves=list(keys=1:2),q=c(.90,.95,.98))

在此处输入图像描述

y <- c(rnorm(8000, 300, 10), rnorm(400, 500, 300) )

t2 <- quantile(y, probs = seq(0, 99.99, by=.1)/100)

plot(t2, xlab="promille ", ylab="time (ms)",pch=20)

gives me:

在此处输入图像描述

whit my dataset

在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM