やりたかったのはタイトルの通りです。
matplotlibやpandasのグラフを使い回したいことがあり、ローカルに保存せずにbase64にする方法を確認していました。
base64に関しては過去に調べていたので、なんとなくあたりは付けやすかったです。
import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame(np.random.rand(100,3),columns=['a','b','c']) df.cumsum().plot.line() # tempとして書き込む from io import BytesIO img_in_memory = BytesIO() plt.savefig(img_in_memory,format='png') img_in_memory.seek(0) #base64にエンコードする import base64 img_base64 = base64.b64encode(img_in_memory.getvalue())
これで、画像をサーバーからとばしたり、ローカルに保存せず使いまわしたりができるようになりました。