Настройка отображения изображений matplotlib для добавления копирования / вставки - PullRequest
3 голосов
/ 26 августа 2010

Я хотел бы настроить отображение изображений matplotlib, чтобы я мог набрать control-c, и он скопирует изображение в буфер обмена, чтобы затем я мог скопировать его в электронную таблицу openoffice, чтобы упорядочить все свои необработанные данные и результаты изображений. Есть какой-либо способ сделать это? Спасибо!

Ответы [ 2 ]

5 голосов
/ 26 августа 2010

Если вы используете бэкэнд wx, FigureCanvasWxAgg имеет метод Copy_to_Clipboard, который вы можете использовать.Вы можете связать событие клавиши CTRL + C, чтобы вызвать этот метод.Для примера посмотрите этот пример кода .

2 голосов
/ 26 августа 2010
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 ...

...