Hello,
I want to unfold a vector of plots but i don’t know how to do it.
using Plots
p = [plot(a[i][1:end,2],a[i][1:end,1]) for i =1:5]
plot(p)
It doesn’t work.
Thanks for your help
Hello,
I want to unfold a vector of plots but i don’t know how to do it.
using Plots
p = [plot(a[i][1:end,2],a[i][1:end,1]) for i =1:5]
plot(p)
It doesn’t work.
Thanks for your help
What does “unfold” mean? Can you make a minimum working example showing what isn’t working and what your desired outcome is?
Incidentally, you don’t nee to do a[i][1:end, 2]
, this is equivalent to just a[i][:, 2]
.
Do you mean you want to pass each plot in p
as a separate argument to plot
? This is done with the “splat” operator ...
, e.g.
using Plots
p = [plot(rand(5), rand(5)) for _=1:5]
plot(p...)
Would you know why broadcasting does not work? I.e., plot.(p)
Actually the following works but with the different plots displaying one after the other in the same window: @. display(plot(p))
. Nevermind.
Broadcasting a function over multiple arguments is not the same as calling a function with multiple arguments:
plot.(plot_array) == for p in plot_array; plot(p); end
while
plot(plot_array...) == plot(plot_array[1], plot_array[2], ..., plot_array[end])
plot(p…) is working !
Thanks
Actually I realise I answered a very similar question on StackOverflow not too long ago: