【问题标题】:Save bar plot in subplot在子图中保存条形图
【发布时间】:2012-07-10 04:29:59
【问题描述】:

我想将我在 MATLAB 中绘制的图形保存到 fig 文件中。目前我正在使用以下代码:

hf1 = figure();
p1=uipanel('Parent',hf1);
a1=subplot(2,1,1,'Parent',p1);
%b1=plot(a1,1:9);
b1=bar(a1,1:9);
a2=subplot(2,1,2,'Parent',p1);
b2=bar(a2,1:9);
%b2=plot(a2,1:9);
hf2 = figure('Visible', 'on');   
hAxes = copyobj(findobj(p1,'Type','Axes'), hf2);
saveas(hf2,'case2.fig','fig');

然后我收到以下错误:

???在 15 处使用 ==> getProxyValueFromHandle 时出错 输入必须是有效的句柄。

==> 91 处的 plotedit 中的错误 [varargout{1:nargout}] = feval(args{:});

==> specgraph.barseries.preserialize 在 10 时出错 peerVals = plotedit({'getProxyValueFromHandle',hPeers});

==> hgsaveStructDbl 中的错误在 81 olddata{i} = {hh,preserialize(hh)};

==> hgsave 中的错误在 63 hgS = hgsaveStructDbl(h, SaveAll);

==> saveasfig 中的错误在 7 hgsave(h, 名字);

==> 中的错误另存为 126 feval( ['saveas' 格式], h, name )

==> 11 处的测试栏出错 saveas(hf2,'case2.fig','fig');

但是当我将代码中的bar替换为plot时(我现在将它们注释掉了^^),然后我可以成功保存数字。

我使用的版本是 MATLAB R2010a。

【问题讨论】:

  • 你真的需要先把图复制到一个新的吗?你为什么不直接使用saveas(hf1,'case2.fig','fig'); 在这里工作!
  • 很奇怪。也许您应该向 MathWorks 提交支持请求。或者先尝试升级到最新版本。
  • Mathworks 错误报告here

标签: matlab save-as subplot


【解决方案1】:

尝试使用此代码

b=bar(a1,1:9,'hist');

而不是

b=bar(a1,1:9);

【讨论】:

    猜你喜欢
    • 2015-05-31
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 2015-10-06
    • 2016-12-20
    • 2021-11-27
    • 1970-01-01
    相关资源
    最近更新 更多