This is a follow-up question. I figured this would be a good place to ask it. I can start a new thread if that is better.
I have a dataset that has about 10 named columns (string headers) and I can produce scatterplots using the construction described earlier in this thread:
dataset[ListPlot, {"Xheader", "Yheader"}]
However, after I perform a few data operations (filter, aggregate, segregate, subtotal, etc.) I end up with a two-level dataset (an association of associations) that no longer has string headers; it is all numerical values. It looks something like:
ExtractedData =<| x1 -> <| y11 -> z11, y12 -> z21, ..., y1n -> z1n |>, x2 -> <| y21 -> z21, y22 -> z22, ..., y2n -> z2n |>,...,xk-> <| yk1 -> zk1, yk2 -> zk2, ..., ykn -> zkn |> |>
Where the x, y, and z are now numerical values, not string headers.
Naturally, here I would like to plot z versus y for each x, etc. I have not found a 'simple' way to do that. The simplest way I have found is to map (nested map) onto my dataset a function like:
ListForPlotting = KeyValueMap[List, Map[KeyValueMap[List, #] &, ExtractedData]]
ListPlot[ ListForPlotting[[All,-1]] ]
and I can use ListForPlotting[[All,1]] for the legend.
This may not look too bad, but I was just wondering if there is a way to retain the ability to produce plots directly after doing the data processing. By 'directly' I mean that I do not need to turn the ExtractedData, which is still a dataset into a list. A way to plot ExtractedData directly as a dataset.
Thanks in advance for any ideas,
Otto Linsuain