From 8d95333d1ec929aa2ef8239c70275e5857a0c78b Mon Sep 17 00:00:00 2001 From: BerndR <20151553+bernd1995@users.noreply.github.com> Date: Thu, 23 Sep 2021 19:14:55 +0200 Subject: [PATCH 1/4] Legend positioning for 3d plots in plotly (#3840) * Remove hardoced numbers, shift for 3d plots * Revert changes * Fixed some missed reverts --- src/backends/plotly.jl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backends/plotly.jl b/src/backends/plotly.jl index d88c16e7..872363d9 100644 --- a/src/backends/plotly.jl +++ b/src/backends/plotly.jl @@ -362,6 +362,7 @@ end function plotly_legend_pos(pos::Symbol) xleft = 0.07 + xright = 1.0 ybot = 0.07 ytop = 1.0 xcenter = 0.55 @@ -372,14 +373,14 @@ function plotly_legend_pos(pos::Symbol) xouterright = 1.05 xouterleft = -0.15 plotly_legend_position_mapping = ( - right = (coords = [1.0, ycenter], xanchor = "right", yanchor = "middle"), + right = (coords = [xright, ycenter], xanchor = "right", yanchor = "middle"), left = (coords = [xleft, ycenter], xanchor = "left", yanchor = "middle"), top = (coords = [xcenter, ytop], xanchor = "center", yanchor = "top"), bottom = (coords = [xcenter, ybot], xanchor = "center", yanchor = "bottom"), bottomleft = (coords = [xleft, ybot], xanchor = "left", yanchor = "bottom"), - bottomright = (coords = [1.0, ybot], xanchor = "right", yanchor = "bottom"), - topright = (coords = [1.0, 1.0], xanchor = "right", yanchor = "top"), - topleft = (coords = [xleft, 1.0], xanchor = "left", yanchor = "top"), + bottomright = (coords = [xright, ybot], xanchor = "right", yanchor = "bottom"), + topright = (coords = [xright, ytop], xanchor = "right", yanchor = "top"), + topleft = (coords = [xleft, ytop], xanchor = "left", yanchor = "top"), outertop = (coords = [center, youtertop], xanchor = "upper", yanchor = "middle"), outerbottom = (coords = [center, youterbot], xanchor = "lower", yanchor = "middle"), outerleft = (coords = [xouterleft, center], xanchor = "left", yanchor = "top"), @@ -400,7 +401,7 @@ function plotly_legend_pos(pos::Symbol) xanchor = "lower", yanchor = "right", ), - default = (coords = [1.0, 1.0], xanchor = "auto", yanchor = "auto"), + default = (coords = [xright, ytop], xanchor = "auto", yanchor = "auto"), ) legend_position = From 032c5d1638fe7ec41911611b67d8b85d41d2f122 Mon Sep 17 00:00:00 2001 From: t-bltg Date: Sat, 25 Sep 2021 12:18:41 +0200 Subject: [PATCH 2/4] UnicodePlots: support markers (#3845) --- src/backends.jl | 29 ++++++++++++++++++++++++++++- src/backends/unicodeplots.jl | 5 ++++- src/examples.jl | 2 -- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/backends.jl b/src/backends.jl index bdfdea3d..c9e65aa5 100644 --- a/src/backends.jl +++ b/src/backends.jl @@ -943,7 +943,34 @@ const _unicodeplots_seriestype = [ :spy, ] const _unicodeplots_style = [:auto, :solid] -const _unicodeplots_marker = [:none, :auto, :circle] +const _unicodeplots_marker = [ + :none, + :auto, + :pixel, + # vvvvvvvvvv shapes + :circle, + :rect, + :star5, + :diamond, + :hexagon, + :cross, + :xcross, + :utriangle, + :dtriangle, + :rtriangle, + :ltriangle, + :pentagon, + # :heptagon, + # :octagon, + :star4, + :star6, + # :star7, + :star8, + :vline, + :hline, + :+, + :x, +] const _unicodeplots_scale = [:identity, :ln, :log2, :log10] # Additional constants diff --git a/src/backends/unicodeplots.jl b/src/backends/unicodeplots.jl index 15ac9db4..c1608579 100644 --- a/src/backends/unicodeplots.jl +++ b/src/backends/unicodeplots.jl @@ -115,11 +115,14 @@ function addUnicodeSeries!( return UnicodePlots.spy(series[:z].surf; kw...) end + series_kw = (;) + # now use the ! functions to add to the plot if st in (:path, :straightline, :shape) func = UnicodePlots.lineplot! elseif st == :scatter || series[:markershape] != :none func = UnicodePlots.scatterplot! + series_kw = (; marker=series[:markershape]) else error("Series type $st not supported by UnicodePlots") end @@ -129,7 +132,7 @@ function addUnicodeSeries!( for (n, segment) in enumerate(series_segments(series, st; check = true)) i, rng = segment.attr_index, segment.range lc = get_linecolor(series, i) - up = func(up, x[rng], y[rng]; color = up_color(lc), name = n == 1 ? label : "") + up = func(up, x[rng], y[rng]; color = up_color(lc), name = n == 1 ? label : "", series_kw...) end for (xi, yi, str, fnt) in EachAnn(series[:series_annotations], x, y) diff --git a/src/examples.jl b/src/examples.jl index 62d1cd02..049e5172 100644 --- a/src/examples.jl +++ b/src/examples.jl @@ -1255,7 +1255,6 @@ _backend_skips = Dict( :unicodeplots => [ 5, # limits issue 6, # embedded images unsupported - 13, # markers unsupported 16, # nested layout unsupported 21, # custom markers unsupported 22, # contours unsupported @@ -1269,7 +1268,6 @@ _backend_skips = Dict( 43, # heatmap with DateTime 45, # error bars 47, # mesh3D unsupported - 48, # markershapes unsupported 49, # polar heatmap 50, # 3D surface unsupported 51, # embedded images unsupported From 8e17a182f91f4590c5b90b92e9b3e5f62e70e882 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 26 Sep 2021 15:42:31 +0200 Subject: [PATCH 3/4] Format .jl files [skip ci] (#3846) Co-authored-by: t-bltg --- src/backends/pgfplotsx.jl | 7 +++++-- src/backends/plotly.jl | 7 +++++-- src/backends/pyplot.jl | 25 ++++++++++++++++--------- src/backends/unicodeplots.jl | 11 +++++++++-- src/colorbars.jl | 10 +++++++--- src/precompile_includer.jl | 7 +++---- src/utils.jl | 6 ++---- 7 files changed, 47 insertions(+), 26 deletions(-) diff --git a/src/backends/pgfplotsx.jl b/src/backends/pgfplotsx.jl index 32a75c6d..e3b2abb5 100644 --- a/src/backends/pgfplotsx.jl +++ b/src/backends/pgfplotsx.jl @@ -518,10 +518,13 @@ function pgfx_add_series!(::Val{:mesh3d}, axis, series_opt, series, series_func, [string(i, " ", j, " ", k, "\\\\") for (i, j, k) in zip(opt[:connections]...)], "\n ", ) - elseif typeof(opt[:connections]) <: AbstractVector{NTuple{3, Int}} + elseif typeof(opt[:connections]) <: AbstractVector{NTuple{3,Int}} # 1-based indexing ptable = join( - [string(i-1, " ", j-1, " ", k-1, "\\\\") for (i, j, k) in opt[:connections]], + [ + string(i - 1, " ", j - 1, " ", k - 1, "\\\\") for + (i, j, k) in opt[:connections] + ], "\n ", ) else diff --git a/src/backends/plotly.jl b/src/backends/plotly.jl index 872363d9..5269ab14 100644 --- a/src/backends/plotly.jl +++ b/src/backends/plotly.jl @@ -691,9 +691,12 @@ function plotly_series(plt::Plot, series::Series) plotattributes_out[:i] = i plotattributes_out[:j] = j plotattributes_out[:k] = k - elseif typeof(series[:connections]) <: AbstractVector{NTuple{3, Int}} + elseif typeof(series[:connections]) <: AbstractVector{NTuple{3,Int}} # 1-based indexing - i, j, k = broadcast(i -> [ inds[i]-1 for inds in series[:connections]], (1, 2, 3)) + i, j, k = broadcast( + i -> [inds[i] - 1 for inds in series[:connections]], + (1, 2, 3), + ) plotattributes_out[:i] = i plotattributes_out[:j] = j plotattributes_out[:k] = k diff --git a/src/backends/pyplot.jl b/src/backends/pyplot.jl index 5f484d41..fb23ece4 100644 --- a/src/backends/pyplot.jl +++ b/src/backends/pyplot.jl @@ -702,29 +702,37 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series) polygons = if series[:connections] isa AbstractVector{<:AbstractVector{Int}} # Combination of any polygon types broadcast(inds -> broadcast(i -> [x[i], y[i], z[i]], inds), series[:connections]) - elseif series[:connections] isa AbstractVector{NTuple{N, Int}} where N + elseif series[:connections] isa AbstractVector{NTuple{N,Int}} where {N} # Only N-gons - connections have to be 1-based (indexing) broadcast(inds -> broadcast(i -> [x[i], y[i], z[i]], inds), series[:connections]) elseif series[:connections] isa NTuple{3,<:AbstractVector{Int}} # Only triangles - connections have to be 0-based (indexing) - ci, cj, ck = series[:connections] + ci, cj, ck = series[:connections] if !(length(ci) == length(cj) == length(ck)) throw( - ArgumentError("Argument connections must consist of equally sized arrays."), + ArgumentError( + "Argument connections must consist of equally sized arrays.", + ), ) end - broadcast(j -> broadcast(i -> [x[i], y[i], z[i]], [ci[j]+1, cj[j]+1, ck[j]+1]), eachindex(ci)) + broadcast( + j -> broadcast(i -> [x[i], y[i], z[i]], [ci[j] + 1, cj[j] + 1, ck[j] + 1]), + eachindex(ci), + ) else throw( - ArgumentError("Unsupported `:connections` type $(typeof(series[:connections])) for seriestype=$st"), + ArgumentError( + "Unsupported `:connections` type $(typeof(series[:connections])) for seriestype=$st", + ), ) end - col = mplot3d.art3d.Poly3DCollection(polygons, - linewidths = py_thickness_scale(plt, series[:linewidth]), + col = mplot3d.art3d.Poly3DCollection( + polygons, + linewidths = py_thickness_scale(plt, series[:linewidth]), edgecolor = py_color(get_linecolor(series)), facecolor = py_color(series[:fillcolor]), alpha = get_fillalpha(series), - zorder = series[:series_plotindex] + zorder = series[:series_plotindex], ) handle = ax."add_collection3d"(col) # Fix for handle: https://stackoverflow.com/questions/54994600/pyplot-legend-poly3dcollection-object-has-no-attribute-edgecolors2d @@ -734,7 +742,6 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series) push!(handles, handle) end - if st == :image xmin, xmax = ignorenan_extrema(series[:x]) ymin, ymax = ignorenan_extrema(series[:y]) diff --git a/src/backends/unicodeplots.jl b/src/backends/unicodeplots.jl index c1608579..a7697c10 100644 --- a/src/backends/unicodeplots.jl +++ b/src/backends/unicodeplots.jl @@ -122,7 +122,7 @@ function addUnicodeSeries!( func = UnicodePlots.lineplot! elseif st == :scatter || series[:markershape] != :none func = UnicodePlots.scatterplot! - series_kw = (; marker=series[:markershape]) + series_kw = (; marker = series[:markershape]) else error("Series type $st not supported by UnicodePlots") end @@ -132,7 +132,14 @@ function addUnicodeSeries!( for (n, segment) in enumerate(series_segments(series, st; check = true)) i, rng = segment.attr_index, segment.range lc = get_linecolor(series, i) - up = func(up, x[rng], y[rng]; color = up_color(lc), name = n == 1 ? label : "", series_kw...) + up = func( + up, + x[rng], + y[rng]; + color = up_color(lc), + name = n == 1 ? label : "", + series_kw..., + ) end for (xi, yi, str, fnt) in EachAnn(series[:series_annotations], x, y) diff --git a/src/colorbars.jl b/src/colorbars.jl index 80726af7..f0cb7c15 100644 --- a/src/colorbars.jl +++ b/src/colorbars.jl @@ -5,7 +5,7 @@ process_clims(s::Union{Symbol,Nothing,Missing}) = ignorenan_extrema # don't specialize on ::Function otherwise python functions won't work process_clims(f) = f -function get_clims(sp::Subplot, op = process_clims(sp[:clims]))::Tuple{Float64, Float64} +function get_clims(sp::Subplot, op = process_clims(sp[:clims]))::Tuple{Float64,Float64} zmin, zmax = Inf, -Inf for series in series_list(sp) if series[:colorbar_entry] @@ -15,7 +15,11 @@ function get_clims(sp::Subplot, op = process_clims(sp[:clims]))::Tuple{Float64, return zmin <= zmax ? (zmin, zmax) : (NaN, NaN) end -function get_clims(sp::Subplot, series::Series, op = process_clims(sp[:clims]))::Tuple{Float64, Float64} +function get_clims( + sp::Subplot, + series::Series, + op = process_clims(sp[:clims]), +)::Tuple{Float64,Float64} zmin, zmax = if series[:colorbar_entry] get_clims(sp, op) else @@ -31,7 +35,7 @@ Finds the limits for the colorbar by taking the "z-values" for the series and pa which must return the tuple `(zmin, zmax)`. The default op is the extrema of the finite values of the input. """ -function get_clims(series::Series, op = ignorenan_extrema)::Tuple{Float64, Float64} +function get_clims(series::Series, op = ignorenan_extrema)::Tuple{Float64,Float64} zmin, zmax = Inf, -Inf z_colored_series = (:contour, :contour3d, :heatmap, :histogram2d, :surface, :hexbin) for vals in ( diff --git a/src/precompile_includer.jl b/src/precompile_includer.jl index c5df391f..2a19fe91 100644 --- a/src/precompile_includer.jl +++ b/src/precompile_includer.jl @@ -7,10 +7,9 @@ ismultiversion = false @static if !should_precompile # nothing elseif !ismultios && !ismultiversion - @static if isfile(joinpath( - @__DIR__, - "../deps/SnoopCompile/precompile/precompile_Plots.jl", - )) + @static if isfile( + joinpath(@__DIR__, "../deps/SnoopCompile/precompile/precompile_Plots.jl"), + ) include("../deps/SnoopCompile/precompile/precompile_Plots.jl") _precompile_() end diff --git a/src/utils.jl b/src/utils.jl index 83aa022a..5f6d3c59 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -1184,9 +1184,7 @@ _document_argument(S::AbstractString) = function mesh3d_triangles(x, y, z, cns::Tuple{Array,Array,Array}) ci, cj, ck = cns if !(length(ci) == length(cj) == length(ck)) - throw( - ArgumentError("Argument connections must consist of equally sized arrays."), - ) + throw(ArgumentError("Argument connections must consist of equally sized arrays.")) end X = zeros(eltype(x), 4length(ci)) Y = zeros(eltype(y), 4length(cj)) @@ -1211,7 +1209,7 @@ function mesh3d_triangles(x, y, z, cns::Tuple{Array,Array,Array}) end return X, Y, Z end -function mesh3d_triangles(x, y, z, cns::AbstractVector{NTuple{3, Int}}) +function mesh3d_triangles(x, y, z, cns::AbstractVector{NTuple{3,Int}}) X = zeros(eltype(x), 4length(cns)) Y = zeros(eltype(y), 4length(cns)) Z = zeros(eltype(z), 4length(cns)) From 1c89bd8727d38353f2cc50f0f6e30688d29fe323 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 26 Sep 2021 15:44:10 +0200 Subject: [PATCH 4/4] Update precompile_*.jl file [skip ci] (#3841) Co-authored-by: t-bltg --- .../precompile/precompile_Plots.jl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/deps/SnoopCompile/precompile/precompile_Plots.jl b/deps/SnoopCompile/precompile/precompile_Plots.jl index f12c9ddf..3482ca03 100644 --- a/deps/SnoopCompile/precompile/precompile_Plots.jl +++ b/deps/SnoopCompile/precompile/precompile_Plots.jl @@ -126,6 +126,7 @@ function _precompile_() Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:marker, :series_annotations, :seriestype), Tuple{Tuple{Int64, Float64, Symbol}, Vector{Any}, Symbol}},typeof(plot!),Plot{PlotlyBackend},StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}},Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:marker, :series_annotations, :seriestype), Tuple{Tuple{Int64, Float64, Symbol}, Vector{Any}, Symbol}},typeof(plot!),StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}},Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:markersize, :c, :seriestype), Tuple{Int64, Symbol, Symbol}},typeof(plot!),Plot{GRBackend},Vector{Float64}}) + Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:markersize, :c, :seriestype), Tuple{Int64, Symbol, Symbol}},typeof(plot!),Plot{PlotlyBackend},Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:markersize, :c, :seriestype), Tuple{Int64, Symbol, Symbol}},typeof(plot!),Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:seriestype, :inset), Tuple{Symbol, Tuple{Int64, BoundingBox{Tuple{Length{:w, Float64}, Length{:h, Float64}}, Tuple{Length{:w, Float64}, Length{:h, Float64}}}}}},typeof(plot!),Plot{GRBackend},Vector{Int64},Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:seriestype, :inset), Tuple{Symbol, Tuple{Int64, BoundingBox{Tuple{Length{:w, Float64}, Length{:h, Float64}}, Tuple{Length{:w, Float64}, Length{:h, Float64}}}}}},typeof(plot!),Plot{PlotlyBackend},Vector{Int64},Vector{Float64}}) @@ -138,6 +139,8 @@ function _precompile_() Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:title,), Tuple{String}},typeof(plot!)}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:w,), Tuple{Int64}},typeof(plot!),Plot{GRBackend},Vector{Float64},Vector{Float64},Vararg{Any, N} where N}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:xgrid,), Tuple{Tuple{Symbol, Symbol, Int64, Symbol, Float64}}},typeof(plot!),Plot{GRBackend}}) + Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:yaxis, :minorgrid), Tuple{Tuple{String, Symbol}, Bool}},typeof(plot!),Plot{GRBackend}}) + Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:yaxis, :minorgrid), Tuple{Tuple{String, Symbol}, Bool}},typeof(plot!),Plot{PlotlyBackend}}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:yaxis, :minorgrid), Tuple{Tuple{String, Symbol}, Bool}},typeof(plot!)}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype), Tuple{Vector{Float64}, Tuple{Symbol, Float64, Stroke}, Vector{Float64}, String, Symbol}},typeof(plot!),Plot{GRBackend},Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype), Tuple{Vector{Float64}, Tuple{Symbol, Float64, Stroke}, Vector{Float64}, String, Symbol}},typeof(plot!),Plot{PlotlyBackend},Vector{Float64}}) @@ -196,6 +199,7 @@ function _precompile_() Base.precompile(Tuple{Core.kwftype(typeof(plot)),NamedTuple{(:seriestype, :markershape, :markersize, :color), Tuple{Matrix{Symbol}, Vector{Symbol}, Int64, Vector{Symbol}}},typeof(plot),Matrix{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot)),NamedTuple{(:seriestype,), Tuple{Symbol}},typeof(plot),StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}},StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}},Matrix{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot)),NamedTuple{(:seriestype,), Tuple{Symbol}},typeof(plot),Vector{DateTime},UnitRange{Int64},Matrix{Float64}}) + Base.precompile(Tuple{Core.kwftype(typeof(plot)),NamedTuple{(:seriestype,), Tuple{Symbol}},typeof(plot),Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot)),NamedTuple{(:seriestype,), Tuple{Symbol}},typeof(plot),Vector{OHLC}}) Base.precompile(Tuple{Core.kwftype(typeof(plot)),NamedTuple{(:st, :xlabel, :ylabel, :zlabel), Tuple{Symbol, String, String, String}},typeof(plot),Vector{Float64},Vector{Float64},Vector{Float64}}) Base.precompile(Tuple{Core.kwftype(typeof(plot)),NamedTuple{(:title, :l, :seriestype), Tuple{String, Float64, Symbol}},typeof(plot),Vector{String},Vector{Float64}}) @@ -233,6 +237,7 @@ function _precompile_() Base.precompile(Tuple{typeof(RecipesPipeline.plot_setup!),Plot{GRBackend},Dict{Symbol, Any},Vector{Dict{Symbol, Any}}}) Base.precompile(Tuple{typeof(RecipesPipeline.plot_setup!),Plot{PlotlyBackend},Dict{Symbol, Any},Vector{Dict{Symbol, Any}}}) Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plot{GRBackend},DefaultsDict}) + Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_axis_args!),Plot{PlotlyBackend},Dict{Symbol, Any},Symbol}) Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plot{GRBackend},Vector{Dict{Symbol, Any}},Dict{Symbol, Any}}) Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plot{PlotlyBackend},Vector{Dict{Symbol, Any}},Dict{Symbol, Any}}) Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plot{GRBackend},DefaultsDict,Symbol,Any}) @@ -245,16 +250,16 @@ function _precompile_() Base.precompile(Tuple{typeof(_cbar_unique),Vector{PlotUtils.ContinuousColorGradient},String}) Base.precompile(Tuple{typeof(_cbar_unique),Vector{StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}}},String}) Base.precompile(Tuple{typeof(_cbar_unique),Vector{Symbol},String}) + Base.precompile(Tuple{typeof(_cycle),Base.OneTo{Int64},Vector{Int64}}) Base.precompile(Tuple{typeof(_cycle),StepRange{Int64, Int64},Vector{Int64}}) Base.precompile(Tuple{typeof(_cycle),Vector{Float64},StepRange{Int64, Int64}}) - Base.precompile(Tuple{typeof(_cycle),Vector{Float64},UnitRange{Int64}}) + Base.precompile(Tuple{typeof(_cycle),Vector{Float64},Vector{Int64}}) Base.precompile(Tuple{typeof(_do_plot_show),Plot{GRBackend},Bool}) Base.precompile(Tuple{typeof(_do_plot_show),Plot{PlotlyBackend},Bool}) Base.precompile(Tuple{typeof(_heatmap_edges),Vector{Float64},Bool,Bool}) Base.precompile(Tuple{typeof(_plot!),Plot,Any,Any}) Base.precompile(Tuple{typeof(_preprocess_barlike),DefaultsDict,Base.OneTo{Int64},Vector{Float64}}) Base.precompile(Tuple{typeof(_preprocess_binlike),DefaultsDict,StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}},Vector{Float64}}) - Base.precompile(Tuple{typeof(_replace_markershape),Vector{Symbol}}) Base.precompile(Tuple{typeof(_update_min_padding!),GridLayout}) Base.precompile(Tuple{typeof(_update_subplot_args),Plot{GRBackend},Subplot{GRBackend},Dict{Symbol, Any},Int64,Bool}) Base.precompile(Tuple{typeof(_update_subplot_args),Plot{PlotlyBackend},Subplot{PlotlyBackend},Dict{Symbol, Any},Int64,Bool}) @@ -272,6 +277,7 @@ function _precompile_() Base.precompile(Tuple{typeof(error_coords),Vector{Float64},Vector{Float64},Vector{Float64}}) Base.precompile(Tuple{typeof(error_zipit),Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}) Base.precompile(Tuple{typeof(fakedata),Int64,Int64}) + Base.precompile(Tuple{typeof(get_clims),Subplot{GRBackend},Series,Function}) Base.precompile(Tuple{typeof(get_minor_ticks),Subplot{GRBackend},Axis,Tuple{Vector{Float64}, Vector{String}}}) Base.precompile(Tuple{typeof(get_minor_ticks),Subplot{GRBackend},Axis,Tuple{Vector{Int64}, Vector{String}}}) Base.precompile(Tuple{typeof(get_series_color),Vector{Symbol},Subplot{GRBackend},Int64,Symbol}) @@ -291,10 +297,6 @@ function _precompile_() Base.precompile(Tuple{typeof(gr_draw_marker),Series,Float64,Float64,Tuple{Float64, Float64},Int64,Int64,Int64,Shape{Float64, Float64}}) Base.precompile(Tuple{typeof(gr_draw_marker),Series,Int64,Float64,Tuple{Float64, Float64},Int64,Float64,Int64,Symbol}) Base.precompile(Tuple{typeof(gr_draw_marker),Series,Int64,Int64,Tuple{Float64, Float64},Int64,Int64,Int64,Symbol}) - Base.precompile(Tuple{typeof(gr_draw_markers),Series,Base.OneTo{Int64},Vector{Float64},Tuple{Float64, Float64}}) - Base.precompile(Tuple{typeof(gr_draw_markers),Series,StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}},Vector{Float64},Tuple{Float64, Float64}}) - Base.precompile(Tuple{typeof(gr_draw_markers),Series,UnitRange{Int64},Vector{Float64},Tuple{Float64, Float64}}) - Base.precompile(Tuple{typeof(gr_draw_markers),Series,Vector{Int64},Vector{Float64},Tuple{Float64, Float64}}) Base.precompile(Tuple{typeof(gr_draw_segments),Series,Base.OneTo{Int64},UnitRange{Int64},Tuple{Vector{Float64}, Vector{Float64}},Tuple{Float64, Float64}}) Base.precompile(Tuple{typeof(gr_draw_segments),Series,Base.OneTo{Int64},Vector{Float64},Int64,Tuple{Float64, Float64}}) Base.precompile(Tuple{typeof(gr_draw_segments),Series,StepRange{Int64, Int64},Vector{Float64},Int64,Tuple{Float64, Float64}}) @@ -307,7 +309,6 @@ function _precompile_() Base.precompile(Tuple{typeof(gr_label_ticks),Subplot{GRBackend},Symbol,Tuple{Vector{Float64}, Vector{String}}}) Base.precompile(Tuple{typeof(gr_label_ticks_3d),Subplot{GRBackend},Symbol,Tuple{Vector{Float64}, Vector{String}}}) Base.precompile(Tuple{typeof(gr_polaraxes),Int64,Float64,Subplot{GRBackend}}) - Base.precompile(Tuple{typeof(gr_polyline),Vector{Float64},Vector{Float64},Function}) Base.precompile(Tuple{typeof(gr_set_gradient),PlotUtils.ContinuousColorGradient}) Base.precompile(Tuple{typeof(gr_update_viewport_legend!),Vector{Float64},Subplot{GRBackend},NamedTuple{(:w, :h, :dy, :leftw, :textw, :rightw, :xoffset, :yoffset, :width_factor), NTuple{9, Float64}}}) Base.precompile(Tuple{typeof(gr_update_viewport_legend!),Vector{Float64},Subplot{GRBackend},NamedTuple{(:w, :h, :dy, :leftw, :textw, :rightw, :xoffset, :yoffset, :width_factor), Tuple{Int64, Int64, Int64, Float64, Int64, Float64, Float64, Float64, Float64}}}) @@ -334,6 +335,7 @@ function _precompile_() Base.precompile(Tuple{typeof(plot),Plot{GRBackend},Plot{GRBackend}}) Base.precompile(Tuple{typeof(plot),Plot{PlotlyBackend},Plot{PlotlyBackend},Plot{PlotlyBackend},Vararg{Plot{PlotlyBackend}, N} where N}) Base.precompile(Tuple{typeof(plot),Plot{PlotlyBackend},Plot{PlotlyBackend}}) + Base.precompile(Tuple{typeof(processGridArg!),Dict{Symbol, Any},Float64,Symbol}) Base.precompile(Tuple{typeof(processGridArg!),Dict{Symbol, Any},Symbol,Symbol}) Base.precompile(Tuple{typeof(processLineArg),Dict{Symbol, Any},Matrix{Symbol}}) Base.precompile(Tuple{typeof(processLineArg),Dict{Symbol, Any},Symbol}) @@ -342,7 +344,6 @@ function _precompile_() Base.precompile(Tuple{typeof(processMarkerArg),Dict{Symbol, Any},Shape{Float64, Float64}}) Base.precompile(Tuple{typeof(processMarkerArg),Dict{Symbol, Any},Stroke}) Base.precompile(Tuple{typeof(processMarkerArg),Dict{Symbol, Any},Symbol}) - Base.precompile(Tuple{typeof(processMinorGridArg!),Dict{Symbol, Any},Bool,Symbol}) Base.precompile(Tuple{typeof(process_annotation),Subplot{GRBackend},Int64,Float64,PlotText}) Base.precompile(Tuple{typeof(process_annotation),Subplot{GRBackend},Int64,Float64,Tuple{String, Int64, Symbol, Symbol}}) Base.precompile(Tuple{typeof(process_annotation),Subplot{GRBackend},Int64,Float64,Tuple{String, Symbol, Int64, String}}) @@ -358,6 +359,7 @@ function _precompile_() Base.precompile(Tuple{typeof(slice_arg),Base.ReshapedArray{Int64, 2, UnitRange{Int64}, Tuple{}},Int64}) Base.precompile(Tuple{typeof(slice_arg),Matrix{AbsoluteLength},Int64}) Base.precompile(Tuple{typeof(slice_arg),Matrix{Bool},Int64}) + Base.precompile(Tuple{typeof(slice_arg),Matrix{Int64},Int64}) Base.precompile(Tuple{typeof(slice_arg),Matrix{PlotUtils.ContinuousColorGradient},Int64}) Base.precompile(Tuple{typeof(slice_arg),Matrix{RGBA{Float64}},Int64}) Base.precompile(Tuple{typeof(slice_arg),Matrix{String},Int64})