9.1.2 計算データを plot する

計算データを元にある程度複雑なグラフを描くには、 データファイルを作成して、それを plot するのが良いでしょうが (後述)、 plot '-' として、 データを標準入力から読むように指定することも出来ます。
testcallgnuplot.c

/*
 * testcallgnuplot.c
 */

#include <stdio.h>
#include <math.h>

int main(void)
{
  int i, n;
  double pi, x, dx;
  FILE *gp;
  char buf[BUFSIZ];

  pi = 4.0 * atan(1.0);
  gp = popen("gnuplot", "w");
  fprintf(gp, "plot '-' with linespoints\n");
  n = 100;
  dx = 2 * pi / n;
  for (i = 0; i <= n; i++) {
    x = i * dx;
    fprintf(gp, "%f %f\n", x, sin(x));
  }
  /* 行頭が 'e' だと標準入力からの読み込みを終了 */
  fprintf(gp, "e\n");
  fflush(gp);

  /* 行入力を待つ --- Enterを打つまで待つ */
  fgets(buf, sizeof(buf), stdin);
  pclose(gp);
  return 0;
}



Subsections

桂田 祐史