我试图从命令行在 octave 中运行一个函数 . 该函数目前运行如下:
octave
octave --silent --persist --eval 'function(input arguments)'
function.m 包含 plot 命令 . 当我使用上面的命令行参数调用 octave 时,绘图确实显示但八度进入其交互模式 . 我的问题是:
function.m
plot
有没有办法让八度音阶显示从命令行调用时进入交互模式的情节 without ?
AFAIK,绘图窗口是八度音程的子进程,因此只能在八度音程运行时显示 . 即使你从"interactive"模式中绘制了一些东西,让情节打开并关闭八度,情节也会消失 .你可以做的是绘制一些输出文件,如发布here:
f = figure set(f, "visible", "off") plot([1,2,3,4]) print("MyPNG.png", "-dpng")
只需在绘图功能后使用 pause
pause
您需要选择合适的图形工具包:
available_graphics_toolkits ans = { [1,1] = fltk [1,2] = gnuplot }
默认为 fltk ,如果不显示绘图,则无法写入文件 . 但是,如果选择 gnuplot ,它将能够在不显示文件的情况下写入文件 . 在您的文件中以:
fltk
gnuplot
graphics_toolkit gnuplot
您可以使用:
waitfor(h)
最后,等待你关闭这个数字 .
问题是当你从命令行运行时,当它结束时,绘图窗口会随之消失 .
#! /usr/bin/octave -qf f = figure; set(f, "visible", "off") t=0:0.001:5*pi; plot(t, sin(5*t)), grid print("MyPNG.png", "-dpng")
这会将输出保存到运行它的目录中的MyPNG.png .
然后你可以用可视化程序打开它 .
另一种选择是添加
在程序结束时,它等待用户输入终止,因此关闭绘图窗口 .
干杯:)
5 回答
AFAIK,绘图窗口是八度音程的子进程,因此只能在八度音程运行时显示 . 即使你从"interactive"模式中绘制了一些东西,让情节打开并关闭八度,情节也会消失 .
你可以做的是绘制一些输出文件,如发布here:
只需在绘图功能后使用
pause
您需要选择合适的图形工具包:
默认为
fltk
,如果不显示绘图,则无法写入文件 . 但是,如果选择gnuplot
,它将能够在不显示文件的情况下写入文件 . 在您的文件中以:您可以使用:
最后,等待你关闭这个数字 .
问题是当你从命令行运行时,当它结束时,绘图窗口会随之消失 .
这会将输出保存到运行它的目录中的MyPNG.png .
然后你可以用可视化程序打开它 .
另一种选择是添加
在程序结束时,它等待用户输入终止,因此关闭绘图窗口 .
干杯:)