如何使用单个管道从 C 程序打开两个(或更多)Gnuplot 窗口?下面的代码似乎只是为第二个循环创建的数据创建图形。第一个循环创建的数据窗口要么没有创建,要么没有保持打开状态。我正在使用 AquaTerm 来显示 Gnuplot 图并且不想打开它的多个实例。我也喜欢使用,'-'这样我就不必创建要由 Gnuplot 读取的文本文件。
int main()
{
FILE *gnuplotPipe = popen("/usr/local/bin/gnuplot -persistent", "w");
fprintf(gnuplotPipe, "plot '-' with lines\n");
for (int i = 0; i < 11; i++) {
fprintf(gnuplotPipe, "%d\t%d\n", i, i);
}
fprintf(gnuplotPipe, "e\n");
fprintf(gnuplotPipe, "plot '-' with lines\n");
for (int i = 10; i < 21; i++) {
fprintf(gnuplotPipe, "%d\t%d\n", i, i);
}
fprintf(gnuplotPipe, "e\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试-persist在绘图命令中使用,但未能使其正常工作。
为了清楚起见,我希望能够比较不同窗口中的图形,而不是同一个窗口中的图形。
您可以使用不同的窗口编号来使用不同的窗口:
set terminal aqua
plot x
set terminal aqua 1
plot x**2
Run Code Online (Sandbox Code Playgroud)
默认编号为0。
这应该适用于所有交互式终端(wxt、x11、aqua、qt、windows)。