每次调试都先从C中抓数据,然后再拷贝到py或者matlab中绘图,太麻烦,为了提高效率,可以考虑C调用gnuplot的方案(当然C调用py的matplotlib应该也是可以的)
废话不多说,直接上代码:
#include <stdio.h>int main() {FILE *gp;// gp = popen("gnuplot", "w"); // 本程序退出后, gnuplot也退出gp = popen("gnuplot -persist", "w"); // 使用-persist参数后, 即使程序退出, gnuplot也不会退出, 但无法再进行交互式操作if (gp == NULL){return -1;}fprintf(gp, "set datafile separator comma\n"); // 若一行的数据分割符为逗号, 则使用此命令, 分割符为空格时, 则不需要此命令fprintf(gp, "set xlabel 'X'\n");fprintf(gp, "set ylabel 'Y'\n");fprintf(gp, "set zlabel 'Z'\n");fprintf(gp, "set title 'Test'\n");fprintf(gp, "splot 'data.txt'\n");fflush(gp);getchar();fprintf(gp, "exit\n");pclose(gp);return 0;
}