如何使用单个管道打开多个 Gnuplot 窗口

Bob*_*ley 2 c gnuplot

如何使用单个管道从 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在绘图命令中使用,但未能使其正常工作。

为了清楚起见,我希望能够比较不同窗口中的图形,而不是同一个窗口中的图形。

Chr*_*oph 7

您可以使用不同的窗口编号来使用不同的窗口:

set terminal aqua
plot x
set terminal aqua 1
plot x**2
Run Code Online (Sandbox Code Playgroud)

默认编号为0

这应该适用于所有交互式终端(wxtx11aquaqtwindows)。