Remove padding from matplotlib plotting Remove padding from matplotlib plotting django django

Remove padding from matplotlib plotting


Try using pad_inches=0, i.e.

plt.savefig( IMG_DIR + 'match.png',bbox_inches='tight', transparent="True", pad_inches=0)

From the documentation:

pad_inches: Amount of padding around the figure when bbox_inches is ‘tight’.

I think the default is pad_inches=0.1


This worked for me. After plotting, get the Axes object from plt using ax = plt.gca(). Then set the xlim, and ylim of ax object to match image width and image height. Matplotlib seems to automatically increase xlim and ylim of viewing area when you plot. Note that while setting y_lim you have to invert the order of coordinates.

for i in range(len(r)):  plt.plot(r[i][0],r[i][1],c=(rgb_number(speeds[i]),0,1-rgb_number(speeds[i])),linewidth=1)plt.axis('off')ax = plt.gca();ax.set_xlim(0.0, width_of_im);ax.set_ylim(height_of_im, 0.0);plt.savefig( IMG_DIR + 'match.png',bbox_inches='tight', transparent="True")


Just add plt.tight_layout() before plt.savefig() !!

plt.figure(figsize=(16, 10))# ... Doing Something ...plt.tight_layout()plt.savefig('wethers.png')plt.show()