Skip to content

Commit 282c5a8

Browse files
committed
fix: handle NanoDates
1 parent 188c3cd commit 282c5a8

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

ext/SpeasyMakieExt.jl

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
module SpeasyMakieExt
22
using Makie
3+
using Dates
34
import Makie: convert_arguments
45
import Makie.SpecApi as S
56
import Speasy: SpeasyVariable
67
import Speasy: speasyplot, speasyplot!
78

9+
"""Compatibility with Makie"""
10+
_times(obj::SpeasyVariable) = DateTime.(obj.time)
11+
812
convert_arguments(P::PointBased, obj::SpeasyVariable, i::Integer) =
9-
convert_arguments(P, obj.time, obj.values[:, i])
13+
convert_arguments(P, _times(obj), obj.values[:, i])
1014
convert_arguments(P::Type{<:Series}, obj::SpeasyVariable) =
11-
convert_arguments(P, obj.time, obj.values')
15+
convert_arguments(P, _times(obj), obj.values')
1216

1317
@recipe(SpeasyPlot, var) do scene
1418
Theme()
@@ -18,9 +22,9 @@ function Makie.plot!(p::SpeasyPlot)
1822
var = p[1][]
1923
if length(var.columns) > 1
2024
labels = string.(var.columns)
21-
series!(p, var.time, var.values'; labels)
25+
series!(p, _times(var), var.values'; labels)
2226
else
23-
lines!(p, var.time, var.values)
27+
lines!(p, _times(var), var.values)
2428
end
2529
return p
2630
end

test/runtests.jl

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ using TestItems, TestItemRunner
66

77
@testitem "Speasy.jl" begin
88
using Dates
9+
using Dates: AbstractDateTime
910
using Unitful
1011
spz_var = get_data("amda/imf", "2016-6-2", "2016-6-5")
1112
@test spz_var isa SpeasyVariable
12-
@test spz_var.time isa Vector{DateTime}
13+
@test spz_var.time isa Vector{<:AbstractDateTime}
1314
@test unit(spz_var) == u"nT"
1415
end
1516

0 commit comments

Comments
 (0)