Bar Plots

Render a single set of bars:

axes.bars(magnitudes, baseline="stacked") # Implicit bar positions
axes.bars(centers, magnitudes, baseline="stacked") # Bar centers
axes.bars(minpos, maxpos, magnitudes, baseline="stacked") # Explicit bar positions

Render $n$ sets of stacked bars:

axes.bars((mag1, mag2, ... magn), baseline="stacked") # Implicit bar positions
axes.bars(centers, (mag1, mag2, ..., magn), baseline="stacked") # Bar centers
axes.bars(minpos, maxpos, (mag1, mag2, ..., magn), baseline="stacked") # Explicit bar positions

Render $n-1$ sets of stacked bars, defined by $n$ boundaries:

axes.bars((b1, b2, ..., bn), baseline=None) # Implicit bar positions
axes.bars(centers, (b1, b2, ..., bn), baseline=None) # Bar centers
axes.bars(minpos, maxpos, (b1, b2, ..., bn), baseline=None) # Explicit bar positions

Ways to specify bar positions

  • Do we rely on bar widths to specify negative space, or stroke the borders?
    • For a single series, stroking produces nicer results.
    • For multiple series, stroking looks funny.
    • For bars with explicit bounds (such as histograms), negative space isn't wanted.
  • Do we make a distinction between the bar's domain width and its rendered width?

Fill Plots

Render a single region defined by the axis and a boundary:

axes.fill(b1, baseline=None)
#axes.fill(p, b1, baseline=None) # This would be indistinguishable from axes.fill(b1, b2)

Render a single region defined by two boundaries:

axes.fill(b1, b2, baseline=None)
axes.fill(p, b1, b2, baseline=None)

Render $n-1$ sets of filled regions defined by $n$ boundaries:

axes.fill((b1, b2, ..., bn), baseline=None)
axes.fill(p, (b1, b2, ..., bn), baseline=None)

Render $n$ stacked regions defined by $n$ sets of magnitudes, plus a computed baseline:

axes.fill((m1, m2, ..., mn), baseline="stacked")
axes.fill(p, (m1, m2, ..., mn), baseline="stacked")

Line / Scatter Plots

Render a single line plot:

axes.plot(y)
axes.plot(x, y)

Render $n$ line plots:

axes.plot((y1, y2, ..., yn))
axes.plot(x, (y1, y2, ..., yn))

In [0]: