How to plot data by c program?

c, gnuplot, graph, plot, simulation

Solution

Since you already know gnuplot, the simplest thing to do may be to just call gnuplot from your program and pipe the data to it:

FILE *gnuplot = popen("gnuplot", "w");
fprintf(gnuplot, "plot '-'\n");
for (i = 0; i < count; i++)
    fprintf(gnuplot, "%g %g\n", x[i], y[i]);
fprintf(gnuplot, "e\n");
fflush(gnuplot);

Problem

I am a mechanical engineer who has only limited knowledge in C programming. I wrote some code in order to make simulations, and I want to visualize the simulation results. At the moment I am using `Dev-C` for writing my codes. With `fopen` and `fprintf` commands I generate a `.dat` file which includes the results. Then I open `GNUPLOT` program and import my `.dat` file to plot the results. This takes time and I have to wait till the end of the simulation. Is there an easy way to connect my plotter with `Dev-C`, so my plotter starts plotting data during the simulation? Any library or etc. ?

Original source