八度音程(matlab)的问题。在程序中我有循环我绘制数据。在每个循环结束时,我将绘图保存到光盘。在此过程中,八度绘制每个绘图。它减缓了这个过程。我只需要将图保存在光盘上。如果我无法显示它们,只是保存,它将大大加快这一过程。有没有方法可以绘制绘图到处理程序而不显示它?绘制我使用scatter
函数。
答案 0 :(得分:6)
正如this question所述,我会这样做:
f = figure('visible','off')
答案 1 :(得分:5)
这不是用matlab测试的,可能只限于八度音阶。
使用f = figure('visible','off')
无法开箱即用。
您需要选择合适的图形工具包:
available_graphics_toolkits
ans =
{
[1,1] = fltk
[1,2] = gnuplot
}
默认值为fltk
,如果不显示绘图,则无法写入文件。但是,如果选择gnuplot
,它将能够在不显示文件的情况下写入文件:
graphics_toolkit gnuplot
f = figure('visible','off')
plot(...)
axis(...)
filename=sprintf('output/%05d.png',t);
print(filename);
它不是特别快,但它不使用屏幕缓冲区或捕获鼠标,如果情节需要可见,就会发生这种情况。
答案 2 :(得分:2)
GNU / Linux支持屏幕外渲染,因为GNU Octave 4.0使用OSMesa。所以今天基本上有两种让figure ("visible", "off");... print (...)
工作的方法:
graphics_toolkit gnuplot