# Extend density plot line (along 0)

If I write

``````using StatsPlots
density(sqrt.(rand(10000)))
density!(sqrt.(2*rand(10000)))
``````

then I get: The plot would be nicer if the blue line extended all the way to the maximum/minimum x values (along 0). Is there an option for this?

If I understand you correctly you want `density` to pad its estimate with zeros up to some maximum value which is determined by a different call to `density`? I don’t think there’s an option for this and I’m not even sure how that would work in practice (what if you plot a third density? would the first two plots have to be extended accordingly?) so you need to do it manually by adding something like

``````julia> plot!(1.1:0.01:1.6, zeros(length(1.1:0.01:1.6)), color = 1, label = "")
``````

Instead of inventing new data, you could force the lines to land on the x-axis at y=0.
In this case, just using the argument `widen=false` would do the trick.

Not sure about the `widen=false`, I tried it but didn’t really seem to work (I increased `lw` to make things clearer)

``````using StatsPlots
density(sqrt.(rand(10000)),widen=false,lw=4)
density!(sqrt.(2*rand(10000)),lw=4)
`````` (I tried putting the `widen=false` in various places, and `=true`, in case I misunderstood something, but with no success)

@nilshg I don’t need it to predict the length of the padding according to the previous call, I agree that this would be weird. But an option like

``````using StatsPlots
density(sqrt.(rand(10000)),extend=(0.,1.5)
density!(sqrt.(2*rand(10000)))
``````

which then continues the line to the given interval (even if just 0) is what I would be looking for (I’d could then manually set it to whatever I would require). If there’s nothing like that though, trying to stitch things together like you suggest, with separate lines, seem like it might produce an acceptable result.

To me it looks good. But some people see a hat, while others a boa and an elephant.