Как скопировать изображение matplotlib/seaborn в память, как скриншотPython

Программы на Python
Ответить
Anonymous
 Как скопировать изображение matplotlib/seaborn в память, как скриншот

Сообщение Anonymous »

Я строю тепловую карту с помощью seaborn. Я хочу скопировать это изображение прямо в буфер обмена, как снимок экрана. Я не могу найти никакого решения, чтобы обойти это. Мое текущее решение выглядит следующим образом

Код: Выделить всё

def copy_image_to_memory(image: plt.figure, close: bool = False) -> None:
from io import BytesIO
from subprocess import run

plt.savefig(buffer := BytesIO(), format='png', facecolor='white')
buffer.seek(0)

run('pbcopy', input=buffer.read(), check=True, shell=True)
print("Image copied to memory")

if close:
print("Closing image")
plt.close()
else:
print("Image not closed")

Проблема этого решения заключается в том, что оно копирует изображение как байтовую строку. Это невозможно скопировать в виде файла или снимка экрана.
Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/791 ... screenshot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»