2022-06-29

matplotlib-cpp を使ってみた

matplotlib-cpp は、Python およびその科学計算用ライブラリ NumPy のためのグラフ描画ライブラリ matplotlib を、C++ から利用できるようにしたヘッダーオンリーライブラリです。MIT ライセンスに従っています。

matplotlib-cpp がどんなものか、使ってみました。プロジェクトサイトは下記の Github にあります。

下記の OS 環境で動作確認をしています。

Fedora Linux 36 x86_64

適当なディレクトリ内で、上記プロジェクトサイトからクローンしておきます。

$ git clone git@github.com:lava/matplotlib-cpp.git
   :
   :

その他に必要なパッケージは、Python の matplotlib と numpy です。下記のようにしてインストールします。matplotlib は numpy に依存していますので、一緒にインストールされます。なお、コンパイルには g++ (gcc-c++) 使います。

[bitwalk@fedora-pc ~]$ sudo dnf install python3-matplotlib
メタデータの期限切れの最終確認: 0:16:38 時間前の 2022年06月29日 20時14分15秒 に実施しました。
依存関係が解決しました。
================================================================================
 パッケージ                       Arch      バージョン         Repo       サイズ
================================================================================
インストール:
 python3-matplotlib               x86_64    3.5.2-4.fc36       updates    3.0 M
依存関係のインストール:
 libqhull_r                       x86_64    1:7.2.1-9.fc36     fedora     169 k
 python3-appdirs                  noarch    1.4.4-5.fc36       fedora      22 k
 python3-brotli                   x86_64    1.0.9-7.fc36       fedora     319 k
 python3-cycler                   noarch    0.11.0-2.fc36      fedora      19 k
 python3-fonttools                noarch    4.29.1-1.fc36      fedora     1.4 M
 python3-fs                       noarch    2.4.11-10.fc36     fedora     206 k
 python3-kiwisolver               x86_64    1.4.1-1.fc36       fedora      65 k
 python3-matplotlib-data          noarch    3.5.2-4.fc36       updates    507 k
 python3-matplotlib-data-fonts    noarch    3.5.2-4.fc36       updates    2.3 M
 python3-matplotlib-tk            x86_64    3.5.2-4.fc36       updates     42 k
 python3-munkres                  noarch    1.1.2-11.fc36      fedora      22 k
 python3-numpy                    x86_64    1:1.22.0-2.fc36    fedora     5.7 M
 python3-numpy-f2py               x86_64    1:1.22.0-2.fc36    fedora     261 k
 python3-pillow-tk                x86_64    9.1.0-1.fc36       updates     27 k
 python3-scipy                    x86_64    1.8.1-1.fc36       updates     18 M

トランザクションの概要
================================================================================
インストール  16 パッケージ

ダウンロードサイズの合計: 32 M
インストール後のサイズ: 132 M
これでよろしいですか? [y/N]: y
   :
   :

以下のサンプルをコンパイルしてみます。

3d.cpp

クローンした matplotlib-cpp から matplotlibcpp.h を、サンプル 3d.cpp があるディレクトリ内にコピーして、以下のようにコンパイルして実行します。

[bitwalk@fedora-pc test_matplotlib-cpp]$ g++ 3d.cpp -std=c++11 -I/usr/include/python3.10 -lpython3.10 -o 3d
[bitwalk@fedora-pc test_matplotlib-cpp]$ ./3d
コンパイルした 3d の実行結果

C++ で matplotlib を簡単に利用できるのは確認できましたが、さて、何に使おうか…。

参考サイト

  1. matplotlib-cppでC++からグラフを表示する | 東京工業大学デジタル創作同好会traP
  2. c++でmatplotlibを使う – MY ROBOTICS
  3. C++でグラフ描画をするならmatplotlib-cppを使ってみる? | HIRO LAB BLOG
  4. C++のコードから簡単にmatplotlibを使ってグラフを作成する方法 - MyEnigma

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村
このエントリーをはてなブックマークに追加

0 件のコメント: