Qqnorm and qqplot

#1

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

0 Likes

#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.

0 Likes

#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)
1 Like

#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.

2 Likes

#5

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

0 Likes

#6

What’s the current status? How can we use it?

0 Likes

#7

The package StatsPlots has the qq plot function available.

1 Like

#8

Possibly so:

# Estimate distribution parameters:
mw = mean(fix_Acid)
StdAbw = std(fix_Acid)
# Create QQ plot:
qqplot(Normal(mw, StdAbw), fix_Acid, title = "QQ-Plot gebundene Säuren", ylabel = "Gehalt geb. Säuren")

0 Likes