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...)
```

2 Likes

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])
```

2 Likes

plot(p…) is working !

Thanks

Actually I realise I answered a very similar question on StackOverflow not too long ago: