SOの別の例とまったく同じように、 matplotlibの数字をメモリストリームに保存しようとしています。
import matplotlib.pyplot as plt
import io
plt.figure()
plt.plot([1, 2])
plt.title("test")
buf = io.BytesIO()
plt.savefig(buf, format = 'png')
plt.savefig("real.png", format = 'png')
buf.seek(0)
data = buf.read()
buf.close()
f = open('copy.png', 'w')
f.write(data)
f.close()
copy.pngのサイズが少し大きく、アプリケーションがそれを開くことを拒否していることがわかりました。これはある種のエンコーディングの問題ですか?
背景:
python.netを使用してmatplotlibでグラフをレンダリングし、それらをC#に渡して描画しようとしています。イメージをディスクに書き込まないようにしたい。理想的には、C#で使用できるある種のバイト配列に書き込みたいと思います。