Hi,

is it possible to place the legend using an exact position and not being restricted to `:top`

, `:bottom`

etc with `Plots.jl`

and the pyplot backend? MWE:

```
plot([1,2,3],
legend = (2,2)
)
```

Somethink similar for placing the legend at `(2,2)`

? Thanks for your answers!

The syntax exists, but the legend location is specified as a fraction of the plotting domain, i.e. `plot(legend=(0.5, 0.5))`

would place it right in the middle. If you want to place it at a position determined by your data, try this (which uses internal attributes and will therefore be more fragile):

```
function legendloc!(p, xleg, yleg)
sp_attrs = p.subplots[1].attr.explicit
x = sp_attrs[:xaxis][:extrema]
y = sp_attrs[:yaxis][:extrema]
xloc = (xleg - x.emin)/(x.emax - x.emin)
yloc = (yleg - y.emin)/(y.emax - y.emin)
plot!(p, legend=(xloc, yloc))
end
```

```
p = plot(1:3)
legendloc!(p, 2, 2) # seems to work!
```

3 Likes

Hi @stillyslalom,

thanks! This is exactly what I was looking for!

jamble