有没有办法在命令行中动态绘制GNUPLOT的图形?

时间:2017-04-20 08:54:31

标签: command gnuplot

我一直在使用gnuplot,现在我想要一个程序从命令行运行gnuplot并直接绘制图形。 类似的东西:

gnuplot>plot sin(x)

但是我总是要运行gnuplot然后编写plot命令。

2 个答案:

答案 0 :(得分:2)

如手册页所述:

  

-e“命令列表”在加载下一个输入文件之前执行请求的命令。

所以在你的特殊情况下,在我看来你所追求的是:

gnuplot -e "plot sin(x)"

答案 1 :(得分:2)

您还可以将Gnuplot作为shell的协同进程运行,例如:与int main() { LPCSTR Dll = "C:\\Test.dll"; HANDLE hFile = CreateFileA(Dll, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); // Open the DLL DWORD FileSize = GetFileSize(hFile, NULL); PVOID FileBuffer = VirtualAlloc(NULL, FileSize, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); // Read the file ReadFile(hFile, FileBuffer, FileSize, NULL, NULL); return 0; }

bash

现在,您可以通过coproc gnuplot 中的文件描述符向Gnuplot进程发送命令,例如:

${COPROC[1]}

或者如果您将文件描述符值保存在echo 'plot sin(x)' >&${COPROC[1]}

p

有关其他shell和备选表示法,请参阅Stephane's answer