matlab热键图复制

时间:2016-07-31 18:53:22

标签: matlab matlab-figure hotkeys

如何为特定任务定义matlab热键。具体来说,我通常需要使用"复制数字"使用数字时频率很高。如何为其分配快捷方式(热键)。

2 个答案:

答案 0 :(得分:0)

可以在首选项菜单中更改Matlab的键盘映射。有关所有选项的更详细信息,请参见specific help page of Mathworks

Home -> Environment -> Preferences -> Keyboard -> Shortcuts

enter image description here

答案 1 :(得分:0)

通过查找uimenu对象的句柄并添加加速器,可以为菜单项添加热键。

E.g。为了将热键设置为Ctrl+ H,只需运行:

set(findall(gcf,'type','uimenu','tag','figMenuEditCopyFigure'),'Accelerator','H')

更改当前数字,或

set(findall(0,'type','uimenu','tag','figMenuEditCopyFigure'),'Accelerator','H')

更改所有数据。

或者,如果您希望从代码中自动将图形复制到剪贴板,则可以使用print

print('-clipboard','-dmeta') (Vector graphic, WINDOWS ONLY)
% or
print('-clipboard','-dbitmap') (bitmap graphic)

更新

在回复你的评论时,(不推荐)改变所有未来数据的方法是在你的路径中早先创建自己的plot(或任何函数)函数,如下所示:

function varargout=plot(varargin)
    varargout=cell(1,nargout);
    [varargout{:}]=builtin('plot',varargin{:});

    set(findall(gcf,'type','uimenu','tag','figMenuEditCopyFigure'),'Accelerator','H');
end

本质上首先调用内置函数plot并转发其输出,然后运行上面的oneliner来更新当前的数字。