Я пытаюсь вернуть pyplot, сохраненный в виде изображения в объект BytesIO из функции, но не могу прочитать соответствующий файл.
def plot_Data():
plot = plot some figure
buf = io.BytesIO()
fig = plot.get_figure()
fig.savefig(buf, format='png', dpi=100)
buf.seek(0)
return buf
imgData = io.BytesIO()
imgData = plot_Data()
im = xl.drawing.image.Image(imgData)
Когда я пытаюсь описать выше, я получить следующую ошибку:
--> 169 im = xl.drawing.image.Image(imgData)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\openpyxl\drawing\image.py in __init__(self, img)
30 self.ref = img
31 mark_to_close = isinstance(img, str)
---> 32 image = _import_image(img)
33 self.width, self.height = image.size
34
~\AppData\Local\Continuum\anaconda3\lib\site-packages\openpyxl\drawing\image.py in _import_image(img)
14
15 if not isinstance(img, PILImage.Image):
---> 16 img = PILImage.open(img)
17
18 return img
~\AppData\Local\Continuum\anaconda3\lib\site-packages\PIL\Image.py in open(fp, mode)
2770 fp.seek(0)
2771 except (AttributeError, io.UnsupportedOperation):
-> 2772 fp = io.BytesIO(fp.read())
2773 exclusive_fp = True
2774
AttributeError: 'NoneType' object has no attribute 'read'
Как я могу вернуть объект BytesIO из функции и правильно прочитать его вне функции?