# Access to DimensionalData time axis

**URL:** <https://discourse.julialang.org/t/access-to-dimensionaldata-time-axis/73877>\
**Category:** General Usage\
**Tags:** question, package\
**Created:** [December 31, 2021, 8:46pm UTC](https://discourse.julialang.org/t/access-to-dimensionaldata-time-axis/73877 "2021-12-31T20:46:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![KajWiik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kajwiik/32/199_2.png) [@KajWiik](https://discourse.julialang.org/u/KajWiik)\
**Post date:** [December 31, 2021, 8:46pm UTC](https://discourse.julialang.org/t/access-to-dimensionaldata-time-axis/73877/1 "2021-12-31T20:46:15Z")

</div>

If I have a DimensionalData variable like

```julia
using DimensionalData
a = DimArray(rand(12), Ti(DateTime(2001):Month(1):DateTime(2001,12)))

```

`a.data` gives data but how to access the time axis (e.g. for plotting in Makie)?

---

<div class="post-metadata">

**Author:** ![KajWiik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kajwiik/32/199_2.png) [@KajWiik](https://discourse.julialang.org/u/KajWiik)\
**Post date:** [December 31, 2021, 11:38pm UTC](https://discourse.julialang.org/t/access-to-dimensionaldata-time-axis/73877/2 "2021-12-31T23:38:02Z")

</div>

It seems that

```julia
julia> dims(a, Ti)|>collect
12-element Vector{DateTime}:
 2001-01-01T00:00:00
 2001-02-01T00:00:00
 2001-03-01T00:00:00
 2001-04-01T00:00:00
 2001-05-01T00:00:00
 2001-06-01T00:00:00
 2001-07-01T00:00:00
 2001-08-01T00:00:00
 2001-09-01T00:00:00
 2001-10-01T00:00:00
 2001-11-01T00:00:00
 2001-12-01T00:00:00

```

does the trick.

---

<div class="post-metadata">

**Author:** ![Raf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raf/32/3383_2.png) [@Raf](https://discourse.julialang.org/u/Raf)\
**Post date:** [January 1, 2022, 1:17am UTC](https://discourse.julialang.org/t/access-to-dimensionaldata-time-axis/73877/3 "2022-01-01T01:17:37Z")

</div>

You can also just do `parent(dims(A, Ti))`, which is a bit more efficient than `collect`.

But we should just implement recipes for Makie.jl, like there are recipes for Plots.jl.

If you use Plots.jl you can just `plot(A)` and it will probably do what you want.

Also, can’t resist… you can simplify your example:

```julia
a = rand(Ti(DateTime(2001):Month(1):DateTime(2001,12))

```

---

<div class="post-metadata">

**Author:** ![KajWiik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kajwiik/32/199_2.png) [@KajWiik](https://discourse.julialang.org/u/KajWiik)\
**Post date:** [January 1, 2022, 12:34pm UTC](https://discourse.julialang.org/t/access-to-dimensionaldata-time-axis/73877/4 "2022-01-01T12:34:12Z")

</div>

I haven’t noticed `parent()`, it seems that it would be useful to reread the full documentation from time to time :-), thanks for pointing that out!

In fact I have used Plots.jl before and that’s why I did not have to access `Ti` axis directly and extracting `Ti`axis was a new trick for me. Recipe for Makie.jl would be very nice.

Yes, I know that `rand()` can be used directly but I wanted just to use some data as an example.

---

<div class="post-metadata">

**Author:** ![Raf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raf/32/3383_2.png) [@Raf](https://discourse.julialang.org/u/Raf)\
**Post date:** [January 1, 2022, 1:24pm UTC](https://discourse.julialang.org/t/access-to-dimensionaldata-time-axis/73877/5 "2022-01-01T13:24:44Z")

</div>

`parent` is just the Base julia method to get the parent `Array` when it is wrapped in another object.
