C/C++でグラフ描画(Windows10編)
やりたいこと
C++のコードから直接グラフを描画をしたいことが多々ある.
macでは以下の方法があったが,windowsでやろうとすると数時間嵌ってしまった...(貴重な休日が溶けた...)
windowsでもできるようになったので,その方法を記載する.
環境
- windows10 education
やったこと
WSLでubuntuを導入し,その中で実行する環境を整えた. この際,ubuntuはCUI環境のみのため,グラフ描画のためにはXserverの導入が必要.
具体的な方法
WSLでubuntuの導入
下の記事にしたがい,ubuntuを導入.
python,gccなどのインストール
$ sudo apt install python2.7 $ pip install numpy $ pip install matplotlib $ sudo apt install g++ $ sudo apt install git
Xserverの導入
グラフ表示のためにXserverをwindowsにインストールする.
また,WSL上でtkinterをインストールする
$ sudo apt-get install tkinter
matplotlib-cppの導入
基本は一番上に貼り付けたブログに従い行う. まずは以下のコマンドで任意のフォルダにgitをクローン
git clone https://github.com/AtsushiSakai/matplotlib-cpp-starter.git
すると,"matplotlib-cpp-starter"というフォルダが作成されるので,その中にあるmatplotlibcpp.hを,実行プログラムから見える位置にコピー.
includeでパスを通してもよいし,実行プログラムと同じディレクトリにおいても良い.
#include"matplotlibcpp.h"
とすることで使えるようになる. コンパイルはc++17の場合,
$ g++ main.cpp -lpython2.7 -std=c++17
以上で実行環境は整う. 実際のコード記述には,VScodeのRemort WSLを使用すると楽になる.
備考
上記でインストールしたubuntuからwindws上のフォルダへアクセスすることは可能. ubuntu(WSL)で
$cd \mnt\c
とすると,windowsの
c:\
にアクセスできる. フォルダはwindows側に作成して,ubuntuからアクセスするのが便利.フォルダ移動のalias作成しとくとよい.
最後に
最初はwindowsで完結させようとして大変なことになっていた. c++でグラフ描画もできるようになったため,作業が捗る...かも