C调用gnuplot绘图的方法

每次调试都先从C中抓数据,然后再拷贝到py或者matlab中绘图,太麻烦,为了提高效率,可以考虑C调用gnuplot的方案(当然C调用py的matplotlib应该也是可以的)

废话不多说,直接上代码:

c 复制代码
#include <stdio.h>

int main() {

    FILE *gp;
    // gp = popen("gnuplot", "w"); // 本程序退出后, gnuplot也退出
    gp = popen("gnuplot -persist", "w"); // 使用-persist参数后, 即使程序退出, gnuplot也不会退出, 但无法再进行交互式操作
    if (gp == NULL)
    {
        return -1;
    }

    fprintf(gp, "set datafile separator comma\n"); // 若一行的数据分割符为逗号, 则使用此命令, 分割符为空格时, 则不需要此命令
    fprintf(gp, "set xlabel 'X'\n");
    fprintf(gp, "set ylabel 'Y'\n");
    fprintf(gp, "set zlabel 'Z'\n");
    fprintf(gp, "set title 'Test'\n");
    fprintf(gp, "splot 'data.txt'\n");
    fflush(gp);


    getchar();
    fprintf(gp, "exit\n");
    pclose(gp);
    return 0;
}
相关推荐
oioihoii4 小时前
《C语言点滴》——笑着入门,扎实成长
c语言·开发语言
say_fall5 小时前
C语言容易忽略的小知识点(1)
c语言·开发语言
程序员东岸8 小时前
数据结构精讲:从栈的定义到链式实现,再到LeetCode实战
c语言·数据结构·leetcode
say_fall8 小时前
C语言容易被忽略的易错点(2)
c语言·开发语言
下午见。8 小时前
深入理解C语言共用体/联合体(union):大小计算与大小端判断实战
c语言·笔记·学习
egoist20239 小时前
[linux仓库]线程同步与生产者消费者模型[线程·陆]
linux·c语言·开发语言·线程同步·阻塞队列·生产者消费者模型
顾安r14 小时前
11.8 脚本网页 星际逃生
c语言·前端·javascript·flask
LaoZhangGong12315 小时前
STM32 F103外部晶振8MHz改为12MHz,如何配置?
c语言·stm32·单片机·嵌入式硬件·晶振
杨福瑞18 小时前
数据结构:单链表(2)
c语言·开发语言·数据结构
GilgameshJSS19 小时前
STM32H743-ARM例程38-UART-IAP
c语言·arm开发·stm32·单片机·嵌入式硬件