当前位置: 首页 > article >正文

C调用gnuplot绘图的方法

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

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

#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;
}

http://www.kler.cn/a/451007.html

相关文章:

  • 贪心算法(三)
  • kubeadm搭建k8s集群
  • 关于uni-forms组件的bug【提交的字段[‘*‘]在数据库中并不存在】
  • .NET Core 中使用 C# 获取Windows 和 Linux 环境兼容路径合并
  • 【数据库】Redis—Java 客户端
  • stm32制作CAN适配器5--WinUsb上位机编写
  • 【ROS2】坐标TF变换工具-tf2_ros
  • 鸿蒙元服务从0到上架【第三篇】(第二招有捷径)
  • tortoisegit推送失败
  • ubuntu下 如何将 NVIDIA 内核驱动 升级到特定版本 如550.127
  • 大语言模型学习工具及资源总结和落地应用
  • soular使用教程
  • ONNX 转 TensorRT Bug 记录:IIfConditionalOutputLayer
  • 鸿蒙-什么是ArkTS
  • 【C++】模板与泛型编程(一):定义模板,类模板
  • vue3 + MapTalks实现2.5D地图的绘制
  • SQL Server数据库多主模式解决方案
  • 面试小札:Java后端闪电五连鞭_11
  • prometheus监控windows主机
  • Springboot基于Web的高校志愿者服务管理系统81559
  • Git安装及基础学习
  • Blazor 中调用 JavaScript
  • 20241224在ubuntu20.04.6下的终端分屏软件terminator的安装以及使用
  • 网络安全词云图与技术浅谈
  • deepin 安装 zookeeper
  • Git:查看分支、创建分支、合并分支