Issue
I'm wondering if I can send out a matplotlib pyplot through smtplib. What I mean is, after I plot this dataframe:
In [3]: dfa
Out[3]:
day imps clicks
70 2013-09-09 90739468 74609
69 2013-09-08 90945581 72529
68 2013-09-07 91861855 70869
In [6]: dfa.plot()
Out[6]: <matplotlib.axes.AxesSubplot at 0x3f24da0>
I know I can see the plot using
plt.show()
but where is the object itself stored? Or am I misunderstanding something about matplotlib? Is there a way to convert it to a picture or html within python so I can send it through smtplib? Thanks!
Solution
You can use figure.savefig()
to save your plot to a file. An example where I output a plot to a file:
fig = plt.figure()
ax = fig.add_subplot(111)
# Need to do this so we don't have to worry about how many lines we have -
# matplotlib doesn't like one x and multiple ys, so just repeat the x
lines = []
for y in ys:
lines.append(x)
lines.append(y)
ax.plot(*lines)
fig.savefig("filename.png")
Then just attach the image to your email (like the recipe in this answer).
Answered By - thegrinner
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.