Here is a script that creates a graph with a y-axis break. I went with a
suggestion from Darren to use two axes and draw a break symbol in between
them. The advantage of two axes is that you can pan them independently (plus
it's probably easier). It shows roughly what I think it should look like, but
I still have to improve a few things. So I have a few questions:
- how can I hide the y-ticks in the middle of the graph (so hide only the
ticks on the top y-axis of the lower axes while leaving the ones at the
- Can I somehow use a transAxes transform so the axis break symbol (now
implemented as a LineCollection) stays in the same position when panning? Is
a LineCollection the best choice? I tried with a Patch class, the problem is
that the verts of this symbol are not connected.
> Hi everyone, Guess no-one has a trick yet to put in an axis
> break. My question is now, should this not be on the goals
> list at least?
> If the developers think it is a good idea to implement this,
> I would like to have a go at it. As I'm not all that
> familiar with the matplotlib internals it would be great if
> someone has any ideas on how to go about it.
This is not possible and is not easy. Currently, we don't even have
independent control of the lines that surround the white axes box (the
left and right y-axis lines and the upper and lower x-axis lines. It
is a long-standing wish to be able to control these independently of
the axes box, and this would be a good place for you to start. See
axis.py and axes.py.
axisbreak.py (2.6 KB)