我有很多包含数据的文件,我想在一个gnuplot窗口中绘制所有数据。我正在使用C。我当前的代码是
gnuplotPipe = popen ("gnuplot -persistent", "w");
//loop starts for each file
system("gnuplot -p -e \"plot 'file_variable'""); // skipping some steps to generate variable file name
//end loop
fclose(gnuplotPipe);
它在各个窗口中生成图形。如何将所有这些组合在一起?
文件格式就像
2 0.000003
2 0.000002
2 0.000002
在 file_2.txt
3 0.000001
3 0.000000
3 0.000001
在 file_3.txt
.
.
.
在file_n.txt
n为3和98之间
99 0.004800
99 0.004752
99 0.004716
在file_99.txt
。
任何帮助,将不胜感激。
通常,该plot
命令可以一次获取多个文件名作为参数,并将其数据绘制在单个图形中。
plot 'file_1', 'file_2', .... 'file_n'
因此,您可以构造一个包含所有文件名的字符串,然后将其传递给system()
函数。
会是这样的。
char *arg = "gnuplot -p -e \"plot";
//Start a loop
//Generate your variable file name
strcat(arg, generated_filename);
//End loop
gnuplotPipe = popen ("gnuplot -persistent", "w");
system(arg);
fclose(gnuplotPipe);
只需确保将生成的文件名组成这样的字符串即可- “'filename',”
(空格后加单引号,文件名,单引号和最后一个逗号)
您可以在本站点的最后一个示例中了解有关在单个图形中绘制多个文件的更多信息。您还可以根据需要设置格式,如图中的示例所示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句