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;
}
相关推荐
fantasy_arch1 小时前
pd_process.c 文件源码分析
c语言·数据库·视频编解码·av1
黎雁·泠崖5 小时前
C 语言指针进阶教程:const 修饰、野指针规避与传址调用
c语言·开发语言
历程里程碑6 小时前
C++ 17异常处理:高效捕获与精准修复
java·c语言·开发语言·jvm·c++
Dillon Dong7 小时前
从C到Simulink:用Counter模块玩转嵌入式定时器
c语言·stm32·simulink
宵时待雨7 小时前
C语言笔记归纳22:预处理详解
c语言·开发语言·笔记
superman超哥7 小时前
仓颉语言中循环语句(for/while)的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
小尧嵌入式8 小时前
Linux进程线程与进程间通信
linux·运维·服务器·c语言·开发语言·数据结构·microsoft
IT方大同8 小时前
C语言选择控制结构
c语言·开发语言
智者知已应修善业8 小时前
【字符串提取3个整数求和】2024-2-11
c语言·c++·经验分享·笔记·算法
晚秋大魔王8 小时前
C语言-宏的基础、进阶、高级、内置宏的用法
c语言·开发语言·