Hi all, I was trying to plot multiple Gadfly plots and display them in two separate figures. However, only the second plot was displayed.
function draw_stuff()
Gadfly.plot(x=[1,1,2,2],[3,4,5,6],Geom.violin)
Gadfly.plot(x=[1,1,2,2],[3,4,5,6],Geom.line)
end
Do I have to explicitly put each plot in display() or is there something that I’m missing when I called the Gadfly plots?
1 Like
Yes.
plot
doesn’t display a plot by itself, it returns a Plot
object. Those Plot
objects automatically get displayed if they’re the return value of a REPL line or notebook cell, but not otherwise. Here, I’m assuming you’re calling draw_stuff
on the REPL or a notebook, which will return the second line’s Plot
object, so that’ll be the only one displayed.
You can either display(plot(...))
or add show = true
as an argument to the plot calls: plot(..., show = true)
.
(All of the above is based on the general Plots.jl library - I’m assuming Gadfly also provides the same interface, at least with regard to simple things like this. )
2 Likes
Use display(plot(...))
, or possibly hstack
, vstack
or gridstack
several plots (lots of examples in the Gadfly Gallery).
Thank you for the explanation!
Thanks for the suggestion! However, I was looking to plot in separate figures rather than in subplots, which seems to be what the stack functions do.