I modified https://matplotlib.org/3.2.1/gallery/ticks_and_spines/multiple_yaxis_with_spines.html
to have a fourth data-set, like that: https://gist.github.com/AndKe/c0c999a22a8daebafb62171b671bf131
With the offset of “1.35”
One can get a glimpse of that, any less, and it will overlap, and more it will be invisible.
changing “right” to “left” does nothing.
Also, the resulting spines placement does vary with the width of the window. - from barely barely showing the third spine, to wasting space the wider the window gets.
The default subplot parameters (
(0.125, 0.9, 0.11, 0.88) (left,right,bottom,top).
This means the axes has a width of (right - left) = 0.9-0.125 = 0.775 (or 77.5% of the figure width).
On the right side of it you have a space of (1-right). Hence the position of the spine in axes units needs to be at most 1 + (1-right)/(right-left) = 1.12 to still be inside the figure.
In the quoted example
right=0.75 is set. In that case 1 + (1-right)/(right-left) = 1.4.
All of this is indeed depending on the figure width, in the sense that the spacing gets larger in absolute units when the figure width is increased.
Thank you, but I still can’t figure out how to make them all show up properly.
maybe my modification just needs some slight modifications to get two spines on the left, and two on the right… please see the second link I provided in my first post, and suggest what
should be, It is not as easy as change “right” to “left” .