With matplotlib it is possible to create and save a figure with no axes and labels. For example, let's consider the following figure (source)

#!/usr/bin/env pythonimport numpy as npimport matplotlib.cm as cmimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltdelta = 0.025x = y = np.arange(-3.0, 3.0, delta)X, Y = np.meshgrid(x, y)Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)Z = Z2-Z1 # difference of Gaussiansim = plt.imshow(Z, interpolation='bilinear', cmap=cm.RdYlGn,origin='lower', extent=[-3,3,-3,3],vmax=abs(Z).max(), vmin=-abs(Z).max())plt.show()
After removing the frame:

#!/usr/bin/env pythonimport numpy as npimport matplotlib.cm as cmimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltmy_dpi=100fig = plt.figure(figsize=(800/my_dpi, 800/my_dpi), dpi=my_dpi)ax = plt.Axes(fig, [0., 0., 1., 1.])ax.set_axis_off()fig.add_axes(ax)delta = 0.025x = y = np.arange(-3.0, 3.0, delta)X, Y = np.meshgrid(x, y)Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)Z = Z2-Z1 # difference of Gaussiansim = plt.imshow(Z, interpolation='bilinear', cmap=cm.RdYlGn,origin='lower', extent=[-3,3,-3,3],vmax=abs(Z).max(), vmin=-abs(Z).max())fig.savefig('MatplotlibImageNoFrame02.png', dpi=my_dpi)plt.show()
Another example:
#!/usr/bin/env pythonimport numpy as npimport matplotlib.cm as cmimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltmy_dpi=100delta = 0.025x = y = np.arange(-3.0, 3.0, delta)X, Y = np.meshgrid(x, y)Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)Z = Z2-Z1 # difference of GaussiansShape = Z.shapefig = plt.figure(figsize=(Shape[1]/my_dpi, Shape[0]/my_dpi), dpi=my_dpi)ax = plt.Axes(fig, [0., 0., 1., 1.])ax.set_axis_off()fig.add_axes(ax)im = plt.imshow(Z, interpolation='bilinear', cmap=cm.RdYlGn,origin='lower', extent=[-3,3,-3,3],vmax=abs(Z).max(), vmin=-abs(Z).max())fig.savefig('MatplotlibImageNoFrame02.png', dpi=my_dpi)plt.show()
References
| Links | Site |
|---|---|
| scipy: savefig without frames, axes, only content | stackoverflow |
| Specifying and saving a figure with exact size in pixels | stackoverflow |
| pylab_examples example code: image_demo.py | matplotlib doc |
