A custom plot can be created by using attributes
. The attributes can be set through keyword arguments. A list of attributes
for a plot object, pltobj
, can be viewed via pltobj.attributes
as in:
fig, ax, pltobj = scatterlines(1:10)
pltobj.attributes
Attributes with 36 entries:
alpha => 1.0
clip_planes => Plane3f[]
color => RGBA{Float32}(0.0,0.447059,0.698039,1.0)
colormap => viridis
colorrange => Automatic()
colorscale => identity
cycle => [:color]
depth_shift => 0.0
dim_conversions => DimConversions((Observable{Union{Nothing, Makie.AbstractDimConversion}}(NoDimConversion()), Observable{Union{Nothing, Makie.AbstractDimConversion}}(NoDimConversion()), Observable{Union{Nothing, Makie.AbstractDimConversion}}(nothing)))
fxaa => true
highclip => Automatic()
inspectable => true
inspector_clear => Automatic()
inspector_hover => Automatic()
inspector_label => Automatic()
joinstyle => miter
linecap => butt
linestyle => nothing
linewidth => 1.5
lowclip => Automatic()
marker => circle
markercolor => Automatic()
markercolormap => Automatic()
markercolorrange => Automatic()
markersize => 9
miter_limit => 1.0472
model => [1.0 0.0 0.0 0.0; 0.0 1.0 0.0 0.0; 0.0 0.0 1.0 0.0; 0.0 0.0 0.0 1.0]
nan_color => transparent
overdraw => false
space => data
ssao => false
strokecolor => black
strokewidth => 0
transformation => Automatic()
transparency => false
visible => true
Asking for help in the REPL
as ?ablines
or help(ablines)
for any given plotting function will show you their corresponding attributes plus a short description on how to use that specific function. For example, for ablines
:
help(ablines)
ablines(intercepts, slopes; attrs...)
Creates a line defined by f(x) = slope * x + intercept crossing a whole
Scene with 2D projection at its current limits. You can pass one or multiple
intercepts or slopes.
Plot type
=========
The plot type alias for the ablines function is ABLines.
Attributes
==========
alpha = 1.0 — The alpha value of the colormap or color attribute. Multiple
alphas like in plot(alpha=0.2, color=(:red, 0.5), will get multiplied.
clip_planes = automatic — Clip planes offer a way to do clipping in 3D
space. You can set a Vector of up to 8 Plane3f planes here, behind which
plots will be clipped (i.e. become invisible). By default clip planes are
inherited from the parent plot or scene. You can remove parent clip_planes
by passing Plane3f[].
color = @inherit linecolor — The color of the line.
colormap = @inherit colormap :viridis — Sets the colormap that is sampled
for numeric colors. PlotUtils.cgrad(...), Makie.Reverse(any_colormap) can be
used as well, or any symbol from ColorBrewer or PlotUtils. To see all
available color gradients, you can call Makie.available_gradients().
colorrange = automatic — The values representing the start and end points of
colormap.
colorscale = identity — The color transform function. Can be any function,
but only works well together with Colorbar for identity, log, log2, log10,
sqrt, logit, Makie.pseudolog10 and Makie.Symlog10.
cycle = [:color] — Sets which attributes to cycle when creating multiple
plots.
depth_shift = 0.0 — adjusts the depth value of a plot after all other
transformations, i.e. in clip space, where 0 <= depth <= 1. This only
applies to GLMakie and WGLMakie and can be used to adjust render order (like
a tunable overdraw).
fxaa = false — adjusts whether the plot is rendered with fxaa
(anti-aliasing, GLMakie only).
highclip = automatic — The color for any value above the colorrange.
inspectable = true — sets whether this plot should be seen by DataInspector.
inspector_clear = automatic — Sets a callback function (inspector, plot) ->
... for cleaning up custom indicators in DataInspector.
inspector_hover = automatic — Sets a callback function (inspector, plot,
index) -> ... which replaces the default show_data methods.
inspector_label = automatic — Sets a callback function (plot, index,
position) -> string which replaces the default label generated by
DataInspector.
linecap = @inherit linecap — Sets the type of linecap used, i.e. :butt (flat
with no extrusion), :square (flat with 1 linewidth extrusion) or :round.
linestyle = nothing — Sets the dash pattern of the line. Options are :solid
(equivalent to nothing), :dot, :dash, :dashdot and :dashdotdot. These can
also be given in a tuple with a gap style modifier, either :normal, :dense
or :loose. For example, (:dot, :loose) or (:dashdot, :dense).
For custom patterns have a look at Makie.Linestyle.
linewidth = @inherit linewidth — Sets the width of the line in pixel units
lowclip = automatic — The color for any value below the colorrange.
model = automatic — Sets a model matrix for the plot. This overrides
adjustments made with translate!, rotate! and scale!.
nan_color = :transparent — The color for NaN values.
overdraw = false — Controls if the plot will draw over other plots. This
specifically means ignoring depth checks in GL backends
space = :data — sets the transformation space for box encompassing the plot.
See Makie.spaces() for possible inputs.
ssao = false — Adjusts whether the plot is rendered with ssao (screen space
ambient occlusion). Note that this only makes sense in 3D plots and is only
applicable with fxaa = true.
transformation = automatic — No docs available.
transparency = false — Adjusts how the plot deals with transparency. In
GLMakie transparency = true results in using Order Independent Transparency.
visible = true — Controls whether the plot will be rendered or not.
ablines has the following function signatures:
(Vector, Vector)
(Vector, Vector, Vector)
(Matrix)
Available attributes for Plot{Makie.ablines} are:
alpha
clip_planes
color
colormap
colorrange
colorscale
cycle
depth_shift
highclip
inspectable
inspector_clear
inspector_hover
inspector_label
linecap
linestyle
linewidth
lowclip
nan_color
overdraw
space
ssao
transparency
visible
Not only the plot objects have attributes, in the next Section we will see that also the Axis
and Figure
objects do.