# Call backend functions on Plots.jl (PyPlot backend)

**URL:** <https://discourse.julialang.org/t/call-backend-functions-on-plots-jl-pyplot-backend/45789>\
**Category:** Visualization\
**Tags:** plots\
**Created:** [August 30, 2020, 1:39pm UTC](https://discourse.julialang.org/t/call-backend-functions-on-plots-jl-pyplot-backend/45789 "2020-08-30T13:39:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![teored90](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/teored90/32/5142_2.png) [@teored90](https://discourse.julialang.org/u/teored90)\
**Post date:** [August 30, 2020, 1:39pm UTC](https://discourse.julialang.org/t/call-backend-functions-on-plots-jl-pyplot-backend/45789/1 "2020-08-30T13:39:32Z")

</div>

Is there a way to modify a Plots.jl plot by directly calling the backend’s functions on that plot? In my case, the backend would be PyPlot. I need to have a multi-column legend, which [doesn’t seem to be supported](https://github.com/JuliaPlots/Plots.jl/issues/2423).

---

<div class="post-metadata">

**Author:** ![daschw](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daschw/32/2926_2.png) [@daschw](https://discourse.julialang.org/u/daschw)\
**Post date:** [October 21, 2020, 12:39pm UTC](https://discourse.julialang.org/t/call-backend-functions-on-plots-jl-pyplot-backend/45789/2 "2020-10-21T12:39:23Z")

</div>

For the pyplot backend you can access matplotlib figure objects from a plot `p` with `p.o` or axes objects with `p[1].o` and use matplotlib functions to modify them. An example can be found e.g. here: [https://github.com/JuliaPlots/Plots.jl/issues/394#issuecomment-708047020](https://github.com/JuliaPlots/Plots.jl/issues/394#issuecomment-708047020)
