最简单C/C++数据可视化函数库MathGL配置方法

1、简介:

MathGL是一个可用于C/C++数据可视化的函数库,可以对不同种类的数据进行可视化。由于MathGL本身不具有显示功能,需要配合opencv以及其他可视化工具才能够显示图形。
由于目前绝大多数的使用MathGL的教程或方法,都是对MathGL的库文件下载后进行编译,由于MathGL除需要本身外还依赖其他5个函数库,整个过程中还需要克服各个库直接的版本问题,所以对于大多数人来说,进行这些库的编译会很困难。
在此介绍一种十分简便,配置十分快捷的方式。

MathGL网址:http://mathgl.sourceforge.net/doc_en/index.html

2、MathGL可视化结果:

在这里插入图片描述
在这里插入图片描述

3、MathGL库的安装:

在此使用 vcpkg 进行MathGL的安装配置。对于vcpkg的操作请查看另一篇博文《Vcpkg C/C++库管理工具安装和使用教程(链接VS2019)》,按照博文中的方法首先安装vcpkg,然后使用一下命令进行MathGL的安装配置过程:
.\vcpkg install mathgl:x64-windows 或者
.\vcpkg install mathgl:x86-windows (二选一即可)
可视化工具我是用的是 opencv 安装方法类似
.\vcpkg install opencv:x86-windows

注: opencv安装x64版本的可能会出错,建议使用x86的,对于vcpkg也对应安装x86即可,都安装也不影响。

4、MathGL使用:

在项目中使用mathglde 时候必须要添加预编译语句,否则项目编译时会出现一直运行而无输出结果的情况,只需要在所有头文件前面添加预编译命令即可。预编译命令如下:

#define _CRT_STDIO_ISO_WIDE_SPECIFIERS
#define MGL_STATIC_DEFINE

5、MathGL实例:

使用MathGL】绘制三角函数:sin(pi*x)。

#define _CRT_STDIO_ISO_WIDE_SPECIFIERS  
#define MGL_STATIC_DEFINE

#include <iostream>
#include <algorithm>
#include <vector>

#include "mgl2/mgl.h"
#include "opencv2/opencv.hpp"

#undef  _CRT_STDIO_ISO_WIDE_SPECIFIERS 
#undef MGL_STATIC_DEFINE


int main() {
	using namespace cv;
	mglGraph gr;
	gr.FPlot("sin(pi*x)");
	gr.WriteFrame("test.png");

	gr.Axis();

	//用OpenCV显示图片
	Mat pic(gr.GetHeight(), gr.GetWidth(), CV_8UC3);
	pic.data = const_cast<uchar*>(gr.GetRGB());
	imshow("test", pic);

	waitKey();
	return 0;
}

结果图形:

在这里插入图片描述


版权声明:本文为qq_41023270原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。