If I want to create a recipe for my type with only RecipesBase.@recipe
, I seem not to be able to specify all margins to be 0
or 0mm
, where it requires a Measure
type, which is defined in Plots.Measures
module. How can I do that?
using RecipesBase
@recipe function f(data::Data)
margins --> 0
return data
end
julia> heatmap(data)
Error showing value of type Plots.Plot{Plots.GRBackend}:
ERROR: MethodError: no method matching +(::AbsoluteLength, ::Int64)
Closest candidates are:
+(::Any, ::Any, ::Any, ::Any...) at operators.jl:591
+(::T, ::T) where T<:Union{Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8} at int.jl:87
+(::Rational, ::Integer) at rational.jl:313
...
Stacktrace:
[1] _update_min_padding!(sp::Plots.Subplot{Plots.GRBackend})
@ Plots ~/.julia/packages/Plots/gzYVM/src/backends/gr.jl:787
[2] iterate
@ ./generator.jl:47 [inlined]
[3] _collect(c::Matrix{AbstractLayout}, itr::Base.Generator{Matrix{AbstractLayout}, typeof(Plots._update_min_padding!)}, #unused#::Base.EltypeUnknown, isz::Base.HasShape{2})
@ Base ./array.jl:807
[4] collect_similar
@ ./array.jl:716 [inlined]
[5] map
@ ./abstractarray.jl:2933 [inlined]
[6] _update_min_padding!(layout::Plots.GridLayout)
@ Plots ~/.julia/packages/Plots/gzYVM/src/layouts.jl:268
[7] prepare_output(plt::Plots.Plot{Plots.GRBackend})
@ Plots ~/.julia/packages/Plots/gzYVM/src/plot.jl:241
[8] display(#unused#::Plots.PlotsDisplay, plt::Plots.Plot{Plots.GRBackend})
@ Plots ~/.julia/packages/Plots/gzYVM/src/output.jl:173