soli
soli

Reputation: 403

Shading with multiple plots using Plots.jl

I would like to replicate the figure using Plots.jl.

However, I have two problems

How can I do that?

Upvotes: 2

Views: 655

Answers (1)

Ilya Orson
Ilya Orson

Reputation: 158

Maybe this can get you started:

using Plots

subplots = 3
time = 250
shade_xlims = [125,140]
data_matrix = Plots.fakedata(time, subplots)

p = plot(data_matrix, layout=(subplots,1), xlabel = "time");
for i in 1:subplots
   ymin,ymax = extrema(data_matrix[:,i]) # determine ylims for shade
   plot!(p[i],                    # apply shade to each subplot
         shade_xlims,             # xlims for shade
         [0,0],                   # dummy y coordinates
         fillrange = (ymin,ymax), # apply ylims
         fillalpha = 0.5,         # set transparency
         fillcolor=:gray,         # set shade color
         label = "")              # avoid shade labels
end
p # show the final graph

Cheers!

Upvotes: 3

Related Questions