stem

AbstractPlotting.stemFunction
stem(xs, ys, [zs]; kwargs...)

Plots markers at the given positions extending from offset along stem lines.

offset can be a number, in which case it sets y for 2D, and z for 3D stems. It can be a Point2 for 2D plots, as well as a Point3 for 3D plots. It can also be an iterable of any of these at the same length as xs, ys, zs.

The conversion trait of stem is PointBased.

Attributes

Available attributes and their defaults for Stem{T} where T are:

  color            :gray65
  colormap         :viridis
  colorrange       AbstractPlotting.Automatic()
  marker           :circle
  markersize       10
  offset           0
  stemcolor        :black
  stemcolormap     :viridis
  stemcolorrange   AbstractPlotting.Automatic()
  stemlinestyle    "nothing"
  stemwidth        1
  strokecolor      :black
  strokewidth      1
  trunkcolor       :black
  trunkcolormap    :viridis
  trunkcolorrange  AbstractPlotting.Automatic()
  trunklinestyle   "nothing"
  trunkwidth       1
  visible          true
source

Examples

using CairoMakie

f = Figure(resolution = (800, 600))
Axis(f[1, 1])

xs = LinRange(0, 4pi, 30)

stem!(xs, sin.(xs))

f
using CairoMakie

f = Figure(resolution = (800, 600))
Axis(f[1, 1])

xs = LinRange(0, 4pi, 30)

stem!(xs, sin,
    offset = 0.5, trunkcolor = :blue, marker = :rect,
    stemcolor = :red, color = :orange,
    markersize = 15, strokecolor = :red, strokewidth = 3,
    trunklinestyle = :dash, stemlinestyle = :dashdot)

f
using CairoMakie

f = Figure(resolution = (800, 600))
Axis(f[1, 1])

xs = LinRange(0, 4pi, 30)

stem!(xs, sin.(xs),
    offset = LinRange(-0.5, 0.5, 30),
    color = LinRange(0, 1, 30), colorrange = (0, 0.5),
    trunkcolor = LinRange(0, 1, 30), trunkwidth = 5)

f
using GLMakie

f = Figure(resolution = (800, 600))

xs = LinRange(0, 4pi, 30)

stem(f[1, 1], 0.5xs, 2 .* sin.(xs), 2 .* cos.(xs),
    offset = Point3f0.(0.5xs, sin.(xs), cos.(xs)),
    stemcolor = LinRange(0, 1, 30), stemcolormap = :Spectral, stemcolorrange = (0, 0.5))

f