ubuntu 安装 C++ 画图库 Matplot++

  • Post author:
  • Post category:其他




Matplot++

Matplot++ 是调用gnuplot实现画图的一个C++数据显示库,其语法模仿Matplotlib,如果觉得安装较麻烦,可以下载我修改别人条件的

C++头文件

,只需要引入头文件即可画图。



安装



准备

gnuplot 版本 > 5.2.6

sudo apt install qtbase5-dev qtbase5-dev-tools libqt5svg5-dev qttools5-dev-tools
tar -xvzf gnuplot-5.4.4.tar.gz 
cd gnuplot-5.4.4/
./configure --with-qt=qt5
make -j
make check
sudo make install

GCC > 7.0

安装 GCC-8

sudo apt update
sudo apt install gcc-8
sudo apt install g++-8

GCC >8 时的安装方法

sudo apt install build-essential
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt install g++-10

// 修改GCC版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7  # 权重
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10

// 修改GCC版本
update-alternatives --config g++
update-alternatives --config gcc

安装库

sudo apt-get install libglfw3-dev



编译

如果C++17 不是默认支持,需要指定GCC编译版本,ubuntu18.04需要指定

cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O2" -DCMAKE_C_COMPILER=/usr/bin/gcc-8 -DCMAKE_CXX_COMPILER=/usr/bin/g++-8

关闭例子与测试部分的安装

-DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF 

安装

cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O2" -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF 
sudo cmake --build . --parallel 2 --config Release
sudo cmake --install .



使用

cmakelists 引入包

find_package(Matplot++ REQUIRED)
target_link_libraries(
        <可执行目标> Matplot++::matplot
)

引入头文件

#include "matplot/matplot.h"
int main(){
	using namespace matplot;
    auto [X, Y] = meshgrid(iota(-8, .5, +8));
    auto Z = transform(X, Y, [](double x, double y) {
        double eps = std::nextafter(0.0, 1.0);
        double R = sqrt(pow(x, 2) + pow(y, 2)) + eps;
        return sin(R) / R;
    });
    mesh(X, Y, Z);
    show();	// 需要调用show才能显示
    return 0;
    
}



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