Moving spines to the center
This recipe will demonstrate how to move spines to the center.
Spines define data area boundaries; they connect the axis tick marks. There are four spines. We can place them wherever we want; by default, they are placed on the border of the axis, hence we see a box around our data plot.
How to do it...
To move the spines to the center of the plot, we need to remove two spines, making them hidden (set color
to none
). After that we move two others to coordinate (0,0). The coordinates are specified in data space coordinates.
The following code shows how to do this:
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi, np.pi, 500, endpoint=True) y = np.sin(x) plt.plot(x, y) ax = plt.gca() # hide two spines ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') # move bottom and left spine to 0,0 ax.spines['bottom'].set_position(('data',0)) ax.spines['left'].set_position(('data',0)) # move ticks positions ax.xaxis.set_ticks_position...