Closed
Description
Problem
When colorbar autocreates an Axes, one can pass location
, which also sets the colorbar's orientation and the ticklocation (left for a left colorbar, right for a right colorbar, etc.). When one instead passes a manually created Axes (e.g. using inset_axes, as suggested by the colorbar_placement.py example), the location
kwarg is not accepted (because things are directly passed to the Colorbar class); one needs to explicitly set orientation
and ticklocation
(the latter is not even documented by Figure.colorbar
):
from pylab import *
sfs = figure(layout="constrained").subfigures(1, 2)
ax = sfs[0].add_subplot()
im = ax.imshow([[0, 1], [2, 3]])
ax.figure.colorbar(im, location="top")
ax = sfs[1].add_subplot()
im = ax.imshow([[0, 1], [2, 3]])
ax.figure.colorbar(im, cax=ax.inset_axes([0, 1.05, 1, 0.05]),
orientation="horizontal", ticklocation="top")
show()
Proposed solution
Add a location
kwarg to the Colorbar constructor which sets both orientation
and ticklocation
, and is mutually exclusive with them.
... or at least better document the workaround.