“单位”这个名称不是“lineseries”类实例的可访问属性 - 在getframe中

时间:2013-06-24 19:21:26

标签: matlab plot

如何将情节图像捕捉到内存中?我正在尝试使用getframe,但却失败了

>> plot(h)
>> myhandle=plot(h)

myhandle =

  174.0044

>> myframe=getframe(myhandle)
Error using graph2d.lineseries/get
The name 'Units' is not an accessible property for an instance of class 'lineseries'.

Error in getframe>Local_getRectanglesOfInterest (line 138)
  if ~strcmpi(get(h, 'Units'), 'Pixels')

Error in getframe (line 56)
  [offsetRect, absoluteRect, figPos, figOuterPos] = ...

1 个答案:

答案 0 :(得分:1)

来自此处的MATLAB文档:http://www.mathworks.com/help/matlab/ref/getframe.html

F = getframe(h) gets a frame from the figure or axes identified by handle h.

当我处理= plot(......),然后输入get(handle),然后查看类型,你会看到它确实是一个线序列对象,而不是轴或图形。

要执行您想要的操作,请使用getframe(gca)getframe(gcf)。 gca / gcf = getCurrentAxes / Figure。

老实说,除非你正在做一个半复杂的GUI或类似的东西,否则getframe通常不需要任何输入参数。