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.
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('bottom') ax.yaxis.set_ticks_position('left') plt.show()
This is what the plot will look like:
This code is dependent on the plot that is drawn because we are moving spines to the location (0, 0) and are plotting a sine function on the interval where (0, 0) is in the middle of the plot.
Nevertheless, this demonstrated how to move spines to a particular location and how to get rid of spines we don't want to show.
3.144.97.216