6.2 Attributes

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.



Support this project
CC BY-NC-SA 4.0 Jose Storopoli, Rik Huijzer, Lazaro Alonso