【问题标题】:Change figure name in every loop Matlab在每个循环 Matlab 中更改图形名称
【发布时间】:2017-01-27 12:35:20
【问题描述】:

我是 Matlab 的初学者,但我必须将它用于我的硕士论文......

我必须更改我的图的名称和我将为每个循环保存的文件的名称,我尝试使用图名称中的函数“eval”应该写为“图 -每次循环都会改变的日期”,但我使用它的方式是错误的。另一个功能可以做什么?或者我必须如何更改 eval 的设置?

NAME={'Sept-Oct 2015','Nov 2015','Jan-Fe 2016','Fev 2016','Mars-Av 2016','Av-Mai 2016','Juin 2016','Juil 2016','Août 2016','Sept 2016','Oct 2016','Nov 2016','Déc 2016'};

for k=1:13
plot(time,data,'g');
eval(title('Figure -' NAME{1,k},'fontsize';14))
axis tight
eval(saveas(gcf,'Figure -' NAME{1,k},'eps'))
end

非常感谢您的帮助。

【问题讨论】:

  • 请提供比“不起作用”更详细的问题描述,否则您的问题可能会因离题而被关闭。
  • evals 在那里做什么?

标签: matlab loops plot matlab-figure


【解决方案1】:

这是你的代码的一个固定版本,如果我理解你的意图的话,改动很小。

NAME={'Sept-Oct 2015','Nov 2015','Jan-Fe 2016','Fev 2016','Mars-Av 2016','Av-Mai 2016','Juin 2016','Juil 2016','Août 2016','Sept 2016','Oct 2016','Nov 2016','Déc 2016'};

for k = 1:13
    plot(time,data,'g');
    title(['Figure -' NAME{1,k}],'fontsize',14)
    axis tight
    saveas(gcf,['Figure -' NAME{1,k}],'eps')
end

但是,现在您绘制了 13 次相同的图(标题不同),所以我猜 datatime 应该以某种方式编入索引。另请记住,这会更改图形的 title(打印在其中),而不是 name(显示在窗口/选项卡的顶部)。

【讨论】:

  • 非常感谢!是的,数据和时间已编入索引,但我的代码大约有 300 行,数据和时间也是循环变量,所以我想让它看起来更简单,以解决我的真正问题
猜你喜欢
  • 2020-08-19
  • 2023-04-10
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-27
相关资源
最近更新 更多