Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Errors on plotting Pyramid #64

Open
felixcremer opened this issue Jan 22, 2025 · 0 comments
Open

Errors on plotting Pyramid #64

felixcremer opened this issue Jan 22, 2025 · 0 comments

Comments

@felixcremer
Copy link
Member

I am plotting a Pyramid that has some Union{Missing, Float32} element type and at some point I get huge error messages like the one below in the terminal and the figure stops responding.
I am not sure, what is the underlying issue.

julia> ┌ Warning: error in rectangle zoom
│   exception =
│    MethodError: Cannot `convert` an object of type Missing to an object of type Float32
│    The function `convert` exists, but no method is defined for this combination of argument types.
│    
│    Closest candidates are:convert(::Type{T}, ::IntervalArithmetic.ExactReal) where T<:Real
│       @ IntervalArithmetic ~/.julia/packages/IntervalArithmetic/GSwKs/src/intervals/exact_literals.jl:118convert(::Type{T}, ::AbstractChar) where T<:Number
│       @ Base char.jl:185convert(::Type{T}, ::T) where T
│       @ Base Base.jl:126...
│    
│    Stacktrace:
│       [1] setindex!(A::Memory{Float32}, x::Missing, i1::Int64)
│         @ Base ./genericmemory.jl:243
│       [2] unsafe_copyto!(dest::Memory{Float32}, doffs::Int64, src::Memory{Union{Missing, Float32}}, soffs::Int64, n::Int64)
│         @ Base ./genericmemory.jl:153
│       [3] unsafe_copyto!
│         @ ./genericmemory.jl:133 [inlined]
│       [4] _copyto_impl!
│         @ ./array.jl:308 [inlined]
│       [5] copyto!
│         @ ./array.jl:294 [inlined]
│       [6] copyto!
│         @ ./array.jl:319 [inlined]
│       [7] copyto_axcheck!
│         @ ./abstractarray.jl:1167 [inlined]
│       [8] Matrix{Float32}(x::Matrix{Union{Missing, Float32}})
│         @ Base ./array.jl:626
│       [9] convert
│         @ ./array.jl:618 [inlined]
│      [10] cvt1
│         @ ./essentials.jl:612 [inlined]
│      [11] ntuple
│         @ ./ntuple.jl:50 [inlined]
│      [12] convert(::Type{Tuple{Vector{Float64}, Vector{Float64}, Matrix{Float32}}}, x::Tuple{Vector{Float64}, Vector{Float64}, Matrix{Union{Missing, Float32}}})
│         @ Base ./essentials.jl:614
│      [13] setproperty!(x::Observable{Tuple{Vector{Float64}, Vector{Float64}, Matrix{Float32}}}, f::Symbol, v::Tuple{Vector{Float64}, Vector{Float64}, Matrix{Union{Missing, Float32}}})
│         @ Base ./Base.jl:52
│      [14] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:122
│      [15] (::Observables.MapCallback)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:436
│      [16] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [17] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [18] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [19] (::PyramidSchemeMakieExt.var"#3#5"{Axis, Pyramid{Union{Missing, Float32}, 2, Tuple{X{DimensionalData.Dimensions.Lookups.Sampled{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, DimensionalData.Dimensions.Lookups.ForwardOrdered, DimensionalData.Dimensions.Lookups.Regular{Float64}, DimensionalData.Dimensions.Lookups.Points, DimensionalData.Dimensions.Lookups.NoMetadata}}, Y{DimensionalData.Dimensions.Lookups.Sampled{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, DimensionalData.Dimensions.Lookups.ReverseOrdered, DimensionalData.Dimensions.Lookups.Regular{Float64}, DimensionalData.Dimensions.Lookups.Points, DimensionalData.Dimensions.Lookups.NoMetadata}}}, DiskArrays.BroadcastDiskArray{Union{Missing, Float32}, 2, Base.Broadcast.Broadcasted{DiskArrays.ChunkStyle{2}, Nothing, typeof(*), Tuple{DiskArrayTools.CFDiskArray{Union{Missing, Float32}, 2, Float32, ZArray{Float32, 2, Zarr.BloscCompressor, DirectoryStore}, Float32}, DiskArrayTools.CFDiskArray{Union{Missing, Int8}, 2, Int8, NetCDFExt.NetCDFVariable{Int8, 2}, Int8}}}}, YAXArray{Union{Missing, Float32}, 2, DiskArrays.BroadcastDiskArray{Union{Missing, Float32}, 2, Base.Broadcast.Broadcasted{DiskArrays.ChunkStyle{2}, Nothing, typeof(*), Tuple{DiskArrayTools.CFDiskArray{Union{Missing, Float32}, 2, Float32, ZArray{Float32, 2, Zarr.BloscCompressor, DirectoryStore}, Float32}, DiskArrayTools.CFDiskArray{Union{Missing, Int8}, 2, Int8, NetCDFExt.NetCDFVariable{Int8, 2}, Int8}}}}, Tuple{X{DimensionalData.Dimensions.Lookups.Sampled{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, DimensionalData.Dimensions.Lookups.ForwardOrdered, DimensionalData.Dimensions.Lookups.Regular{Float64}, DimensionalData.Dimensions.Lookups.Points, DimensionalData.Dimensions.Lookups.NoMetadata}}, Y{DimensionalData.Dimensions.Lookups.Sampled{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, DimensionalData.Dimensions.Lookups.ReverseOrdered, DimensionalData.Dimensions.Lookups.Regular{Float64}, DimensionalData.Dimensions.Lookups.Points, DimensionalData.Dimensions.Lookups.NoMetadata}}}, Dict{String, Any}}, Vector{AbstractDimMatrix}, Dict{Any, Any}}, Extents.Extent{(:X, :Y), Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}}, Observable{AbstractDimMatrix}})(viewport::GeometryBasics.HyperRectangle{2, Int64})
│         @ PyramidSchemeMakieExt ~/.julia/packages/PyramidScheme/REMDs/ext/PyramidSchemeMakieExt.jl:44
│      [20] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [21] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [22] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [23] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│      [24] (::Observables.MapCallback)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:436
│      [25] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [26] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [27] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [28] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│      [29] update_computedbbox!(computedbbox::Observable{GeometryBasics.HyperRectangle{2, Float32}}, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32}, alignment::Tuple{Float32, Float32}, reporteddimensions::GridLayoutBase.Dimensions, alignmode::Inside, protrusions::GridLayoutBase.RectSides{Float32}, sizeattrs::Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, autosizeobservable::Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}})
│         @ GridLayoutBase ~/.julia/packages/GridLayoutBase/xvxWi/src/layoutobservables.jl:356
│      [30] (::GridLayoutBase.var"#106#108"{Observable{GridLayoutBase.Dimensions}, Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}}, Observable{Any}, Observable{GridLayoutBase.RectSides{Float32}}, Observable{GeometryBasics.HyperRectangle{2, Float32}}})(sbbox::GeometryBasics.HyperRectangle{2, Float32}, ali::Tuple{Float32, Float32})
│         @ GridLayoutBase ~/.julia/packages/GridLayoutBase/xvxWi/src/layoutobservables.jl:218
│      [31] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│         @ Base ./essentials.jl:1055
│      [32] invokelatest(::Any, ::Any, ::Vararg{Any})
│         @ Base ./essentials.jl:1052
│      [33] (::Observables.OnAny)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:420
│      [34] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [35] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [36] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [37] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│      [38] align_to_bbox!(gl::GridLayout, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32})
│         @ GridLayoutBase ~/.julia/packages/GridLayoutBase/xvxWi/src/gridlayout.jl:1096
│      [39] (::GridLayoutBase.var"#11#12"{GridLayout})(bbox::GeometryBasics.HyperRectangle{2, Float32})
│         @ GridLayoutBase ~/.julia/packages/GridLayoutBase/xvxWi/src/gridlayout.jl:158
│      [40] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [41] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [42] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [43] update!(gl::GridLayout)
│         @ GridLayoutBase ~/.julia/packages/GridLayoutBase/xvxWi/src/gridlayout.jl:193
│      [44] update!
│         @ ~/.julia/packages/GridLayoutBase/xvxWi/src/gridlayout.jl:1525 [inlined]
│      [45] (::GridLayoutBase.var"#14#15"{GridLayoutBase.GridContent{GridLayout}, Axis})(c::GridLayoutBase.Dimensions)
│         @ GridLayoutBase ~/.julia/packages/GridLayoutBase/xvxWi/src/gridlayout.jl:261
│      [46] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [47] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [48] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [49] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│      [50] (::Observables.MapCallback)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:436--- the above 5 lines are repeated 2 more times ---
│      [61] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [62] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [63] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [64] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│      [65] (::Makie.var"#1610#1624"{Observable{Any}})(idealspace::Float32, space::MakieCore.Automatic)
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/lineaxis.jl:331
│      [66] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│         @ Base ./essentials.jl:1055
│      [67] invokelatest(::Any, ::Any, ::Vararg{Any})
│         @ Base ./essentials.jl:1052
│      [68] (::Observables.OnAny)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:420
│      [69] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [70] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [71] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [72] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│      [73] (::Observables.MapCallback)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:436
│      [74] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [75] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [76] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [77] update_ticklabel_node(closure_args::Tuple{Observable{Bool}, Observable{Any}, Observable{Float32}, Observable{Any}, Observable{Vector{Float64}}}, ticklabel_annotation_obs::Observable{Vector{Tuple{Any, Point{2, Float32}}}}, labelgap::Float32, flipped::Bool, tickpositions::Vector{Point{2, Float32}}, tickstrings::Vector{Any})
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/lineaxis.jl:168
│      [78] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│         @ Base ./essentials.jl:1055
│      [79] invokelatest(::Any, ::Any, ::Vararg{Any})
│         @ Base ./essentials.jl:1052
│      [80] (::Observables.OnAny)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:420
│      [81] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [82] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [83] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [84] setindex!
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123 [inlined]
│      [85] update_tickpos_string(closure_args::Tuple{Observable{Vector{Any}}, Observable{Vector{Point{2, Float32}}}, Observable{Vector{Float64}}, Observable{Tuple{Float32, Tuple{Float32, Float32}, Bool}}, Observable{Tuple{Float64, Float64}}}, tickvalues_labels_unfiltered::Tuple{Vector{Float64}, Vector{Any}}, reversed::Bool, scale::typeof(identity))
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/lineaxis.jl:232
│      [86] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│         @ Base ./essentials.jl:1055
│      [87] invokelatest(::Any, ::Any, ::Vararg{Any})
│         @ Base ./essentials.jl:1052
│      [88] (::Observables.OnAny)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:420
│      [89] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│      [90] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│      [91] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│      [92] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│      [93] (::Observables.MapCallback)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:436--- the above 5 lines are repeated 1 more time ---
│      [99] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│     [100] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│     [101] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│     [102] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│     [103] (::Observables.SetindexCallback)(x::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:148
│     [104] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│     [105] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│     [106] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│     [107] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│     [108] (::Observables.MapCallback)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:436
│     [109] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│     [110] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│     [111] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│     [112] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│     [113] adjustlimits!(la::Axis)
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks/axis.jl:995
│     [114] (::Makie.var"#1681#1712"{Axis})(pxa::GeometryBasics.HyperRectangle{2, Int64}, lims::GeometryBasics.HyperRectangle{2, Float64})
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks/axis.jl:508
│     [115] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│         @ Base ./essentials.jl:1055
│     [116] invokelatest(::Any, ::Any, ::Vararg{Any})
│         @ Base ./essentials.jl:1052
│     [117] (::Observables.OnAny)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:420
│     [118] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│     [119] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│     [120] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│     [121] setindex!(observable::Observable, val::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123
│     [122] (::Makie.var"#1543#1544"{Axis})(newlims::GeometryBasics.HyperRectangle{2, Float64})
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/types.jl:703
│     [123] process_interaction(r::Makie.RectangleZoom, event::MouseEvent, ax::Axis)
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/interactions.jl:181
│     [124] process_axis_event(ax::Axis, event::MouseEvent)
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks/axis.jl:16
│     [125] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│         @ Base ./essentials.jl:1055
│     [126] invokelatest(::Any, ::Any, ::Vararg{Any})
│         @ Base ./essentials.jl:1052
│     [127] (::Observables.OnAny)(value::Any)
│         @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:420
│     [128] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│     [129] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│     [130] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│     [131] setindex!
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123 [inlined]
│     [132] (::Makie.var"#1535#1537"{Scene, Base.RefValue{Bool}, Base.RefValue{Union{Nothing, Makie.Mouse.Button}}, Base.RefValue{Float64}, Base.RefValue{Float64}, Base.RefValue{Bool}, Base.RefValue{Point{2, Float64}}, Base.RefValue{Bool}, Base.RefValue{Union{Nothing, Makie.Mouse.Button}}, Base.RefValue{Bool}, Base.RefValue{Point{2, Float32}}, Base.RefValue{Vec{2, Float64}}, Base.RefValue{Makie.Mouse.Action}, Observable{MouseEvent}, Float64, Module})(event::Makie.MouseButtonEvent)
│         @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/mousestatemachine.jl:327
│     [133] #invokelatest#2
│         @ ./essentials.jl:1055 [inlined]
│     [134] invokelatest
│         @ ./essentials.jl:1052 [inlined]
│     [135] notify
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:206 [inlined]
│     [136] setindex!
│         @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:123 [inlined]
│     [137] (::GLMakie.var"#mousebuttons#170"{Observable{Makie.MouseButtonEvent}})(window::GLFW.Window, button::GLFW.MouseButton, action::GLFW.Action, mods::Int32)
│         @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/events.jl:104
│     [138] _MouseButtonCallbackWrapper(window::GLFW.Window, button::GLFW.MouseButton, action::GLFW.Action, mods::Int32)
│         @ GLFW ~/.julia/packages/GLFW/wmoTL/src/callback.jl:43
│     [139] PollEvents
│         @ ~/.julia/packages/GLFW/wmoTL/src/glfw3.jl:702 [inlined]
│     [140] pollevents(screen::GLMakie.Screen{GLFW.Window}, frame_state::Makie.TickState)
│         @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/screen.jl:485
│     [141] on_demand_renderloop(screen::GLMakie.Screen{GLFW.Window})
│         @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/screen.jl:935
│     [142] renderloop(screen::GLMakie.Screen{GLFW.Window})
│         @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/screen.jl:963
└ @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/interactions.jl:183
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant