如何使用单个管道从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;
}
我试过在plot命令中使用
-persist
,但还没有成功实现。为了清楚起见,我希望能够比较不同窗口中的图形,而不是同一窗口中的图形。
最佳答案
您可以使用不同的窗口号使用不同的窗口:
set terminal aqua
plot x
set terminal aqua 1
plot x**2
默认值为
0
。这应该适用于所有交互式终端(
wxt
,x11
,aqua
,qt
,windows
,)。