Live graph for a C application

前端 未结 2 781
暗喜
暗喜 2020-12-17 01:57

I have an application which logs periodically on to a host system it could be on a file or just a console. I would like to use this data to plot a statistical graph for me.

2条回答
  •  轮回少年
    2020-12-17 02:43

    Well, you only need to write your data in the given format of livegraph and set livegraph up to plot what you want. If wrote small C example which generates random numbers and dumps them together with the time every second. Next, you just attach the livegraph program to the file. That's it.

    Playing around with LiveGraph I must say that its use is rather limited. I still would stick to a python script with matplotlib, since you have much more control over how and what is plotted.

    #include 
    #include 
    #include 
    #include 
    #include 
    
    int main(int argc, char** argv)
    {
            FILE *f; 
            gsl_rng *r = NULL;
            const gsl_rng_type *T; 
            int seed = 31456;   
            double rndnum;
            T = gsl_rng_ranlxs2;
            r = gsl_rng_alloc(T);
            gsl_rng_set(r, seed);
    
            time_t t;
            t = time(NULL);
    
    
    
            f = fopen("test.lgdat", "a");
            fprintf(f, "##;##\n");
            fprintf(f,"@LiveGraph test file.\n");
            fprintf(f,"Time;Dataset number\n");
    
            for(;;){
                    rndnum = gsl_ran_gaussian(r, 1); 
                    fprintf(f,"%f;%f\n", (double)t, rndnum);
                    sleep(1);
                    fflush(f);
                    t = time(NULL);
            }   
    
            gsl_rng_free(r);
            return 0;
    }
    

    compile with

    gcc -Wall main.c  `gsl-config --cflags --libs`
    

提交回复
热议问题