3

我想自定义 matplotlib 图像显示,以便我可以键入 control-c 并将图像复制到剪贴板,然后我可以将其复制到 openoffice 电子表格以组织我所有的原始数据和图像结果。有没有办法做到这一点?谢谢!

4

2 回答 2

5

如果您使用的是 wx 后端,FigureCanvasWxAgg则可以使用一种Copy_to_Clipboard方法。您可以绑定 CTRL+C 键事件来调用此方法。例如,请参阅此示例代码

于 2010-08-26T00:46:53.483 回答
2
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

这适用于 tk 后端,但我不知道如何将图像复制到剪贴板。对于文本,我可以使用 xclip,但图像不起作用!出于某种原因,wx 后端在 ubuntu 上不能很好地工作......

于 2010-08-26T02:47:59.260 回答