有几个帖子。但是,在大多数情况下,人们建议使用一些gnuplot接口或perl脚本。就我而言,我不想使用它们并实施我自己的解决方案。我希望在数组中实时绘制数据。
以下是该方案。我有一系列数据,假设[pt1, pt2, pt3 .... n]
。我知道n
的价值。在某个时间点T1
。我想绘制这些值。我知道我可以通过以下方式做到:
gp = _popen("C:\\gnuplot\\gnuplot -persist", "w");
/* I can use a loop to generate the following string */
fprintf(gp, "plot \"-\" using 1:2 w points, \ \"-\" using 1:3 w points\n"...,\ \"-\" using 1:n w points\n");
仅仅是为了举例,现在假设我们一次有两个数组:
T1 pt1 pt2 //I want to plot is at T1
T2 pt3 pt4 //I want to plot this at T2 on the same graph
使用下面的代码,我可以绘制T1
:
fprintf(gp, "1.0 1.2 2.2\n");
fprintf(gp, "end\n");
fflush(gp);
fprintf(gp, "1.0 1.2 2.2\n");
fprintf(gp, "end\n");
fflush(gp);
但我似乎无法在同一张图上打印T2
:
fprintf(gp, "1.1 1.3 2.1\n");
fprintf(gp, "end\n");
fflush(gp);
fprintf(gp, "1.1 1.2 2.3\n");
fprintf(gp, "end\n");
fflush(gp);
在T1和T2之间使用fprintf(gp, "plot \"-\" using 1:2 w points, \ \"-\" using 1:3 w points\n"...,\ \"-\" using 1:n w points\n");
可以让我绘制第二个点。但是,T1情节丢失了。那么我可以这样做吗?