rafaqz / DimensionalData.jl

Named dimensions and indexing for julia arrays and other data
https://rafaqz.github.io/DimensionalData.jl/stable/
MIT License
262 stars 38 forks source link

(Slightly) Breaking: make `name` more systematic #687

Closed rafaqz closed 2 months ago

rafaqz commented 3 months ago

This has been bugging me for a while.

name was originally defined for informative names, but it became the actual keys for Table columns and DimStack layers.

name on dimensions is still this thing that can be modified in the dims macro to look bettter, and dim2key does the lower level thing for Symbol keys/table columns etc. But name is exported and should be much more useful than it is.

This PR removes all of that coomplexity and makes name the main function for getting the dimension name Symbol from Dimension, types etc.. name(Ti) == :Ti.

dim2key is deprecated to just call name. key2dim is also switched to name2dim to simplify things, and name is defined on DimStack to just return a Tuple of Symbol for each layer.

Plot output mostly wont even change because label now holds the old name of the dimension and Ti will still be on plot labels as "Time".