首页 文章

使用Plots.jl对多个图进行着色

提问于
浏览
2

我想使用Plots.jl复制figure .

但是,我有两个问题

  • 我不知道如何遮盖一定时期的身影

  • 我想绘制多个图作为示例

我怎样才能做到这一点?

1 回答

  • 3

    也许这可以让你开始:

    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
    

    干杯!

相关问题