八度音程(matlab)的问题.在程序中我有循环我绘制数据.在每个循环结束时,我将绘图保存到光盘.在此过程中,八度绘制每个绘图.它减缓了这个过程.我只需要将图保存在光盘上.如果我无法显示它们,只是保存,它将大大加快这一过程.有没有方法可以绘制绘图到处理程序而不显示它?绘制我使用的scatter
功能.
正如在这个问题中回答的那样,我会这样做:
f = figure('visible','off')
Run Code Online (Sandbox Code Playgroud)
这不是用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)
它不是特别快,但它不使用屏幕缓冲区或捕获鼠标,如果需要显示绘图,则会发生这种情况.