RecipesPipeline.Formatted
— TypeRepresents data values with formatting that should apply to the tick labels.
RecipesPipeline.GroupBy
— TypeA special type that will break up incoming data into groups, and allow for easier creation of grouped plots
RecipesPipeline.Surface
— Typerepresents a contour or surface mesh
RecipesBase.is_key_supported
— Methodis_key_supported(key)
Check if the plotting package natively supports the attribute key
RecipesPipeline._apply_type_recipe
— Method_apply_type_recipe(plotattributes, v::T, letter)
Apply the type recipe with signature (::Type{T}, ::T)
.
RecipesPipeline._process_plotrecipes!
— Method_process_plotrecipes!(plt, kw_list)
Grab the first in line to be processed and pass it through apply_recipe
to generate a list of RecipeData
objects. If we applied a "plot recipe" without error, then add the returned datalist's KWs, otherwise we just add the original KW.
RecipesPipeline._process_seriesrecipes!
— Method_process_seriesrecipes!(plt, kw_list)
Recursively apply series recipes until the backend supports the seriestype
RecipesPipeline._process_userrecipes!
— Method_process_userrecipes(plt, plotattributes, args)
Wrap input arguments in a RecipeData' vector and recursively apply user recipes and type recipes on the first element. Prepend the returned
RecipeDatavector. If an element with empy
argsis returned pop it from the vector, finish up, and it to vector of
Dicts with processed series. When all arguments are processed return the series
Dict`.
RecipesPipeline.add_series!
— Methodadd_series!(plt, kw)
Adds the series defined by kw
to the plot object. For example Plots updates the current subplot arguments, expands extrema and pushes the the series to the series_list of plt
.
RecipesPipeline.get_axis_limits
— Methodget_axis_limits(plt, letter)
Get the limits for the axis specified by letter
(:x
, :y
or :z
) in plt
. If it errors, tryrange
from PlotUtils is used.
RecipesPipeline.is3d
— Methodis3d(::Type{Val{:myseriestype}})
Returns true
if myseriestype
represents a 3D series, false
otherwise.
RecipesPipeline.is_axis_attribute
— Methodis_axis_attribute(plt, attr)
Returns true
if attr
is an axis attribute, i.e. it applies to xattr
, yattr
and zattr
, otherwise false
.
RecipesPipeline.is_seriestype_supported
— Methodis_seriestype_supported(plt, st)
Check if the plotting package natively supports the seriestype st
.
RecipesPipeline.is_subplot_attribute
— Methodis_subplot_attribute(plt, attr)
Returns true
if attr
is a subplot attribute, otherwise false
.
RecipesPipeline.is_surface
— Methodis_surface(::Type{Val{:myseriestype}})
Returns true
if myseriestype
represents a surface series, false
otherwise.
RecipesPipeline.needs_3d_axes
— Methodneeds_3d_axes(::Type{Val{:myseriestype}})
Returns true
if myseriestype
needs 3d axes, false
otherwise.
RecipesPipeline.plot_setup!
— Methodplot_setup!(plt, plotattributes, kw_list)
Setup plot, subplots and layouts. For example, Plots creates the backend figure, initializes subplots, expands extrema and links subplot axes.
RecipesPipeline.postprocess_axis_args!
— Methodpostprocess_axis_args!(plt, plotattributes, letter)
Removes the :letter
key from plotattributes
and does the same prepending of the letters as preprocess_axis_args!
.
RecipesPipeline.preprocess_attributes!
— Methodpreprocess_attributes!(plt, plotattributes)
Any plotting package specific preprocessing of user or recipe input happens here. For example, Plots replaces aliases and expands magic arguments.
RecipesPipeline.preprocess_axis_args!
— Methodpreprocess_axis_args!(plt, plotattributes, letter)
This version additionally stores the letter name in plotattributes[:letter]
.
RecipesPipeline.preprocess_axis_args!
— Methodpreprocess_axis_args!(plt, plotattributes)
Preprocessing of axis attributes. Prepends the axis letter to axis attributes by default.
RecipesPipeline.process_sliced_series_attributes!
— Methodprocess_sliced_series_attributes!(plt, kw_list)
All series attributes are now properly resolved. Any change of the kw_list
before the application of recipes must come here.
RecipesPipeline.process_userrecipe!
— Methodprocess_userrecipe!(plt, attributes_list, attributes)
Do plotting package specific post-processing and add series attributes to attributeslist. For example, Plots increases the number of series in plt
, sets `:seriesplotindex` in attributes and possible adds new series attributes for errorbars or smooth.
RecipesPipeline.recipe_pipeline!
— Methodrecipe_pipeline!(plt, plotattributes, args)
Recursively apply user recipes, type recipes, plot recipes and series recipes to build a list of Dict
s, each corresponding to a series. At the beginning, plotattributes
contains only the keyword arguments passed in by the user. Then, add all series to the plot object plt
and return it.
RecipesPipeline.series_defaults
— Methodseries_defaults(plt)
Returns a Dict
storing the defaults for series attributes.
RecipesPipeline.slice_series_attributes!
— Methodslice_series_attributes!(plt, kw_list, kw)
For attributes given as vector with one element per series, only select the value for current series.
RecipesPipeline.split_attribute
— Methodsplit_attribute(plt, key, val, indices)
Select the proper indices from val
for attribute key
.
RecipesPipeline.splittable_attribute
— Methodsplittable_attribute(plt, key, val, len)
Returns true
if the attribute key
with the value val
can be split into groups with group provided as a vector of length len
, false
otherwise.
RecipesPipeline.type_alias
— Methodtype_alias(plt, st)
Return the seriestype alias for st
.
RecipesPipeline.warn_on_recipe_aliases!
— Methodwarn_on_recipe_aliases!(plt, plotattributes, recipe_type, args...)
Warn if an alias is detected in plotattributes
after a recipe of type recipe_type
is applied to 'args'. recipe_type
is either :user
, :type
, :plot
or :series
.