Настройка отображения изображений Matplotlib для добавления копирования / вставки
Я хотел бы настроить отображение изображений matplotlib так, чтобы я мог набрать control-c, и он скопирует изображение в буфер обмена, чтобы затем я мог скопировать его в электронную таблицу openoffice, чтобы упорядочить все мои необработанные данные и результаты изображений. Есть какой-либо способ сделать это? Спасибо!
2 ответа
Если вы используете бэкэнд wx, FigureCanvasWxAgg
имеет Copy_to_Clipboard
метод, который вы можете использовать. Вы можете связать событие клавиши CTRL+C, чтобы вызвать этот метод. Для примера посмотрите этот пример кода.
import matplotlib
import matplotlib.pyplot as plt
if not globals().has_key('__figure'):
__figure = matplotlib.pyplot.figure
def on_key(event):
print event
if event.key=='c':
#print event.canvas.__dict__#.Copy_to_Clipboard(event=event)
# print event.canvas._tkphoto.__dict__
plt.savefig("/tmp/fig.png")
def my_figure():
fig = __figure()
fig.canvas.mpl_connect('key_press_event',on_key)
return fig
matplotlib.pyplot.figure = my_figure
Это работает для бэкенда, но я понятия не имею, как скопировать изображение в буфер обмена. Для текста я могу использовать xclip, но изображения не работают! И по какой-то причине бэкэнд wx не слишком хорошо работает на Ubuntu...