0

I have plotted matplotlib.pyplot plot. I have already removed the axes and title of the plot such that in jupyter notebook it looks like an image.

But I need to save that plot as an image to my local disk with required pixel resolution. In my case it's 40 X 98.

I have tried plt.savefig but I can't get the measurements accurately. I have provided my code snippet below. (spectrum) is my 2D array which is to be plotted as a fucntion of x and y axes.

spect = 20 * np.log10(spectrum)
fig, ax = plt.subplots(figsize=(1,1))
ax = sns.heatmap(spect,cmap='viridis',cbar=False,xticklabels=False, yticklabels=False)
ax.invert_yaxis()
plt.savefig('sample.png',bbox_inches = 'tight', pad_inches = 0)

1 Answers1

0

Try adjusting the dpi argument in savefig. From the docs: "dpi : the resolution in dots per inch". https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.savefig.html

The actual number of pixels may vary depending on your screen resolution.

For a more detailed explanation, see this answer: Specifying and saving a figure with exact size in pixels

Eric M
  • 1,360
  • 11
  • 19