【问题标题】:How to print two or more plots in one graph using C and gnuplot如何使用 C 和 gnuplot 在一个图形中打印两个或多个图
【发布时间】:2020-12-09 20:30:02
【问题描述】:

我对 C 有点陌生,我想使用 gnuplot 在 C 中绘制数据。现在我有这个代码:

FILE *gnuplot = popen("gnuplot", "w");
fprintf(gnuplot, "plot '-' lc 6 w lp\n");
for (int i = 0; i < size; i++){
    fprintf(gnuplot, "%g %g \n", x[i], y[i] );
}
fprintf(gnuplot, "e\n");
fflush(gnuplot);

它一次打印一个图并且工作得很好,但是我需要在相同的坐标中同时绘制 两个图。有没有办法在我的程序中包含一些代码行,或者我应该使用完全不同的方法?

【问题讨论】:

    标签: c plot graph gnuplot


    【解决方案1】:

    您可以使用内联数据块(manual 中的第 46 页),例如:

    #include <stdio.h>
    
    int main(void) {
      int size = 10;
      FILE *gnuplot = popen("gnuplot -persist", "w");
    
      fprintf(gnuplot, "$MyData << EOD\n");
    
      for (int i = 0; i < size; i++){
        fprintf(gnuplot, "%d %d\n", i, size-i );
      }
    
      fprintf(gnuplot, "EOD\n");
    
      fprintf(gnuplot, "plot $MyData u 0:1 lc 6 w lp, $MyData u 0:2 w l\n");
      fflush(gnuplot);
      return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-20
      • 2021-04-24
      • 2023-02-26
      • 1970-01-01
      相关资源
      最近更新 更多