octave(matlab),如何创建情节而不显示?

ash*_*him 4 matlab octave

八度音程(matlab)的问题.在程序中我有循环我绘制数据.在每个循环结束时,我将绘图保存到光盘.在此过程中,八度绘制每个绘图.它减缓了这个过程.我只需要将图保存在光盘上.如果我无法显示它们,只是保存,它将大大加快这一过程.有没有方法可以绘制绘图到处理程序而不显示它?绘制我使用的scatter功能.

Oli*_*Oli 6

正如在这个问题中回答的那样,我会这样做:

f = figure('visible','off')
Run Code Online (Sandbox Code Playgroud)

  • 当我用八度执行此操作时,任何将图形打印到文件的尝试都会失败。当我创建带有可见的图形时,我可以很好地打印它。 (2认同)

Ann*_*sum 6

这不是用matlab测试的,可能只限于八度音阶.

使用f = figure('visible','off')不会开箱即用.

您需要选择合适的图形工具包:

available_graphics_toolkits 
ans = 
{
  [1,1] = fltk
  [1,2] = gnuplot
}
Run Code Online (Sandbox Code Playgroud)

默认情况下fltk,如果不显示绘图,则无法写入文件.但是,如果您选择gnuplot它将能够写入文件而不首先显示它:

graphics_toolkit gnuplot

f = figure('visible','off')
plot(...)
axis(...)
filename=sprintf('output/%05d.png',t);                                                                          
print(filename); 
Run Code Online (Sandbox Code Playgroud)

它不是特别快,但它不使用屏幕缓冲区或捕获鼠标,如果需要显示绘图,则会发生这种情况.