diff --git a/src/args.jl b/src/args.jl index cd7b9690..da105ea3 100644 --- a/src/args.jl +++ b/src/args.jl @@ -1748,15 +1748,17 @@ function slice_arg!( remove_pair::Bool, ) v = get(plotattributes_in, k, plotattributes_out[k]) - plotattributes_out[k] = - if haskey(plotattributes_in, k) && - typeof(v) <: AMat && - !isempty(v) && - !(k in _plot_args) + plotattributes_out[k] = if haskey(plotattributes_in, k) && !(k in _plot_args) + if typeof(v) <: AMat && !isempty(v) slice_arg(v, idx) + elseif typeof(v) <: NTuple{2,AMat} + (slice_arg(v[1], idx), slice_arg(v[2], idx)) else v end + else + v + end if remove_pair RecipesPipeline.reset_kw!(plotattributes_in, k) end diff --git a/test/test_pipeline.jl b/test/test_pipeline.jl index d6eda4d1..a345f93a 100644 --- a/test/test_pipeline.jl +++ b/test/test_pipeline.jl @@ -32,5 +32,7 @@ end @test plot(data4; NamedTuple{tuple(attribute)}(Ref(mat))...)[1][i][attribute] == [2(i - 1) + 1, 2i] end + @test plot(data4, ribbon = (mat, mat))[1][i][:ribbon] == + ([2(i - 1) + 1, 2i], [2(i - 1) + 1, 2i]) end end