Reputation: 13
I'm trying to save a bunch of histograms as images. And this is what I did so far.
for i in range(len(images)):
histogram, bin_edges = np.histogram(images[i].ravel(), 256, [0, 256])
plt.plot(histogram)
plt.show()
Output of the above code:
This output is fine, but I want to save these as images.
I used plt.savefig() but this isn't the result I'm looking for.
for i in range(len(images)):
histogram, bin_edges = np.histogram(images[i].ravel(), 256, [0, 256])
plt.plot(histogram)
plt.savefig("histograms/hist_frame"+str(count)+".png")
count+=1
Output of the above code:
How do I save these histograms in separate files?
Upvotes: 1
Views: 459
Reputation: 560
Your current code is plotting every histogram on the same figure, In order to have multiple figures, you need to create a new figure for each plot:
for i in range(len(images)):
plt.figure()
histogram, bin_edges = np.histogram(images[i].ravel(), 256, [0, 256])
plt.plot(histogram)
plt.savefig("histograms/hist_frame"+str(count)+".png")
count+=1
Note that if showing the plot, plt.show()
should follow plt.savefig()
, otherwise the file image will be blank.
Upvotes: 2