[Matplotlib-users] Why axes is not visible when used with figure.add_axes ?

Fabrice Silva silva at lma.cnrs-mrs.fr
Sat Dec 17 08:29:30 EST 2016


Le samedi 17 décembre 2016, Shiyao Ma a écrit :
> Hi,
> 
> I have the following snippet to reproduce my problem:
> 
> 
> import numpy as np
> import matplotlib.pyplot as plt
> 
> y = np.arange(4)
> x = np.arange(4)
> 
> fig = plt.figure()
> ax = fig.add_axes([0, 0, 1, 1])
> ax.plot(x, y)
> ax.set_title('test')
> ax.set_xlabel("XX")
> plt.show()
> 
> 
> The picture is here:
> http://imgur.com/a/1fh3u
> 
> 
> Why are the X/Y axes, the title, and the label not visible?

The bounds you provided to the add_axes method specify that the
axes spans all the figure. In fact [0,0,1,1] means that
- the lower left corner is at coordinate (0,0) of the figure canvas
- it spans the full width and height (1,1) of the canvas.
So that the ticklabels, labels and title are outside of the visible
part of the figure.

Reduce the bounds (or even use add_subplot(1,1,1)) to get a suitable
axes.


More information about the Matplotlib-users mailing list