将Matlab绘图复制到Excel
我使用剪贴板复制和粘贴我的Matlab绘图通过actxserver优秀。 但是,我的身材的尺寸不复制到Excel。 如何更改为图的尺寸? 这是我的代码…
fig = figure('Position',[100 100 200 300]); print(fig,'-dmeta') Excel = actxserver('Excel.Application'); ExcelWorkbook=invoke(Excel.Workbooks,'Open','C:\...'); Sheets = Excel.ActiveWorkBook.Sheets.Item(1); Sheets.Range('A1').PasteSpecial; ExcelWorkbook.Save; Excel.Quit;
用于打印的graphics属性(或用于复制到具有print
function的剪贴板)不是'Position'
,而是'Paperposition'
。
从文档中 ,
Position
– graphics可绘制区域的位置和大小,指定为[left bottom width height]
forms的vector。 可绘制区域是窗口的内部区域,不包括标题栏,菜单栏和工具栏。
OuterPosition
– graphics外边界的位置和大小,指定为vector[left bottom width height]
。
PaperPosition
– 打印或保存时在页面上的图大小和位置,指定为[left bottom width height]
forms的四元素vector
所以,加上类似的东西
set(fig, 'Paperposition', [1 5 6 12]) %// adjust values as needed
在print(fig, '-dmeta')
之前print(fig, '-dmeta')
。