Skip to content

scatter! fails for Vector{Union{missing, Float64}} #5089

@debsankha

Description

@debsankha

what version of Makie are you running? (]st -m Makie)

  • Makie v0.23.0

can you reproduce the bug with a fresh environment ? (]activate --temp; add Makie)

  • Yes.

What platform + GPU are you on?

  • Ubuntu 24.04, AMD/ATI Phoenix1

Which backend are you using?

  • GLMakie

Please provide an minimal example of the failing code.

using GLMakie

x = [1.0, 2, 3, 4, 5]
y = [1.0, 2, missing, 4, 5]

x2 = [12, 13, missing, 14, 15.0]
y2 = [22, 23, missing, 24, 25.0]

fig = Figure(; size=(800, 800))
axis = Axis(fig[1, 1]; aspect=1, xlabel="X", ylabel="Y")

scatter!(axis, x, y; alpha=0.5)
scatter!(axis, x2, y2; alpha=0.5)

Produces error:

ERROR: LoadError: MethodError: no method matching create_dim_conversion(::Type{Union{Missing, Float64}})
The function `create_dim_conversion` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  create_dim_conversion(::Type{Categorical})
   @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/categorical-integration.jl:48
  create_dim_conversion(::Type{<:Dates.AbstractTime})
   @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/dates-integration.jl:59
  create_dim_conversion(::Type{<:Enum})
   @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/categorical-integration.jl:53
  ...

Stacktrace:
  [1] dim_conversion_from_args(values::Vector{Union{Missing, Float64}})
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/dim-converts.jl:114
  [2] convert_dim_observable(conversions::Makie.DimConversions, dim::Int64, value::Observable{Any}, deregister::Vector{Observables.ObserverFunction})
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/dim-converts.jl:200
  [3] (::Makie.var"#220#222"{UnionAll, PointBased, Tuple{Observable{Any}, Observable{Any}}, Vector{Observables.ObserverFunction}, Makie.DimConversions})(i::Int6
4)
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/dim-converts.jl:189
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/dim-converts.jl:189
  [4] ntuple
    @ ./ntuple.jl:19 [inlined]
  [5] try_dim_convert(P::Type{Scatter}, PTrait::PointBased, user_attributes::Dict{Symbol, Any}, args_obs::Tuple{Observable{Any}, Observable{Any}}, deregister::Vector{Observables.ObserverFunction})
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/dim-converts/dim-converts.jl:183
  [6] conversion_pipeline(P::Type{Scatter}, used_attrs::Tuple{}, args::Tuple{Vector{Union{Missing, Float64}}, Vector{Union{Missing, Float64}}}, kw_obs::Observable{Vector{Pair{Symbol, Any}}}, args_obs::Tuple{Observable{Any}, Observable{Any}}, user_attributes::Dict{Symbol, Any}, deregister::Vector{Observables.ObserverFunction}, recursion::Int64)
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/interfaces.jl:220
  [7] conversion_pipeline(P::Type{Scatter}, used_attrs::Tuple{}, args::Tuple{Vector{Union{Missing, Float64}}, Vector{Union{Missing, Float64}}}, kw_obs::Observable{Vector{Pair{Symbol, Any}}}, args_obs::Tuple{Observable{Any}, Observable{Any}}, user_attributes::Dict{Symbol, Any}, deregister::Vector{Observables.ObserverFunction})
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/interfaces.jl:213
  [8] (Scatter)(user_args::Tuple{Vector{Union{Missing, Float64}}, Vector{Union{Missing, Float64}}}, user_attributes::Dict{Symbol, Any})
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/interfaces.jl:273
  [9] _create_plot!(::Function, ::Dict{Symbol, Any}, ::Axis, ::Vector{Union{Missing, Float64}}, ::Vararg{Vector{Union{Missing, Float64}}})
    @ Makie ~/.julia/environments/v1.11/dev/Makie/src/figureplotting.jl:377
 [10] scatter!(::Axis, ::Vararg{Any}; kw::@Kwargs{alpha::Float64})
    @ MakieCore ~/.julia/environments/v1.11/dev/Makie/MakieCore/src/recipes.jl:512

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions