Merge pull request #1686 from JuliaPlots/pv/nt
Fix NamedTuple integration
This commit is contained in:
commit
4049bf20c2
15
src/args.jl
15
src/args.jl
@ -1086,16 +1086,13 @@ function extractGroupArgs(vs::Tuple, args...)
|
|||||||
end
|
end
|
||||||
|
|
||||||
# allow passing NamedTuples for a named legend entry
|
# allow passing NamedTuples for a named legend entry
|
||||||
@require NamedTuples = "73a701b4-84e1-5df0-88ff-1968ee2ee8dc" begin
|
legendEntryFromTuple(ns::NamedTuple) =
|
||||||
legendEntryFromTuple(ns::NamedTuples.NamedTuple) =
|
join(["$k = $v" for (k, v) in pairs(ns)], ", ")
|
||||||
join(["$k = $v" for (k, v) in zip(keys(ns), values(ns))], ", ")
|
|
||||||
|
|
||||||
function extractGroupArgs(vs::NamedTuples.NamedTuple, args...)
|
function extractGroupArgs(vs::NamedTuple, args...)
|
||||||
isempty(vs) && return GroupBy([""], [1:size(args[1],1)])
|
isempty(vs) && return GroupBy([""], [1:size(args[1],1)])
|
||||||
NT = eval(:(NamedTuples.@NT($(keys(vs)...)))){map(eltype, vs)...}
|
v = map(NamedTuple{keys(vs)}∘tuple, values(vs)...)
|
||||||
v = map(NT, vs...)
|
extractGroupArgs(v, args...; legendEntry = legendEntryFromTuple)
|
||||||
extractGroupArgs(v, args...; legendEntry = legendEntryFromTuple)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# expecting a mapping of "group label" to "group indices"
|
# expecting a mapping of "group label" to "group indices"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user