9.1.1 関数を plot する

次のサンプル・プログラムは plot sin(x) させる、というものです。
testcallgnuplot0.c

/*
 * testcallgnuplot0.c
 */

#include <stdio.h>

int main(void)
{
  FILE *gp;
  char buf[BUFSIZ];

  gp = popen("gnuplot", "w");
  fprintf(gp, "plot sin(x)\n");
  fflush(gp);
  /* 行入力を待つ --- Enterを打つまで待つ */
  fgets(buf, sizeof(buf), stdin);
  /* パイプを閉じる */
  pclose(gp);
  return 0;
}
fgets() を入れてあるのは、 (図がすぐに消えてしまわないように) ユーザーからの入力を待つことにする、ということですが、 X Windows System の環境では、gnuplot -persist と起動して、 Cプログラムの終了後も gnuplot のウィンドウを残すことが出来ます。
testcallgnuplot1.c

/*
 * testcallgnuplot1.c
 */

#include <stdio.h>

int main(void)
{
  FILE *gp;

  gp = popen("gnuplot -persist", "w");
  fprintf(gp, "plot sin(x)\n");
  pclose(gp);

  return 0;
}



桂田 祐史