Right now axes determine the orientation of the "In" vector based on which side of the plot they're on. For axis locations of "min" or "max", that's OK, but when a plot has a fixed position in dataspace, then it should be able to have a fixed orientation, i.e. tick labels are always above/below or always left/right of the axis.
The text was updated successfully, but these errors were encountered:
Yes and no... It's no longer applicable because the ability to position axes at fixed data space coordinates is currently removed. But, it should be added back at some point when we can figure out how to make it work.
Just hard coding loc to return 0 demonstrates that things already "sort of work":
As it stands, there is extra padding for the vacant-but-still-present side panels, and also the axes are not clipped at the inner plot boundary. So I would propose to add an optional fixed_location property to Axis that is what loc returns (if it is set). Then fix up other code paths so that:
if there is a fixed location, the axis is added to a render level that gets clipped
if there is a fixed location, the side panel width/height is collapsed to zero
To be clear, this is a slight abuse of side panels, but anything else would seem to be much more work. In particular, keeping the side panel, and adding the axis to a layout on a side, provides an immediate, already working way to specify which "side" of the axis the tick labels should be drawn on. Otherewise we would need new dedicated properties for those, and then to also figure out interactions with all the existing properties.
We could also consider an add_axis method to plot that would be a little more comprehensible to users than add_layout.