Qqnorm and qqplot


#1

Is there an equivalent to R qqnorm and qqplot functions in some julia package?


#2

There’s a gist here for how to do it with Gadfly https://gist.github.com/kleinschmidt/7ce8cec988a84ce73ba2

It would be fairly easy to make a recipe for this for StatPlots as well - we should definitely have that.


#3

This should work with Plots:


using Distributions, RecipesBase

@recipe function f(h::QQPair)
    seriestype --> :scatter
    h.qx, h.qy
end

@userplot QQPlot
@recipe f(h::QQPlot) = qqbuild(h.args[1], h.args[2])
    
@userplot QQNorm
@recipe f(h::QQNorm) = qqbuild(Normal(), h.args[1])

Use like this:

x = rand(Normal(), 100)
y = rand(Cauchy(), 100)

using Plots
qqplot(x,y)
qqnorm(y)

#4

And now there’s a PR on StatPlots:
https://github.com/JuliaPlots/StatPlots.jl/pull/99
@harven there’s a request for comment on the pull request, if you like.


#5

That’s great, thank you! I will have a look at the RFC soon.