C++で生成したデータをmatplotlibでグラフ表示

ロジックはC++で書きたく、一方グラフ表示までC++で実現するのが少し面倒だったので表示部分はpythonのmatplotlibを使うことにした。
データの引き渡しは本来であれば何らかのIDLを使うのがスマートかもしれないが、安易にファイル渡しとした。

先ず、C++のプログラム

#include <stdlib.h>

#include <iostream>
#include <fstream>

int main()
{
  std::ofstream file("data.txt");

  double x[10] = {1,2,3,4,5,6,7,8,9,10};
  double y[10] = {1,3,3,2,5,7,4,3.7,2,1};

  for(int i=0;i<10;i++){
    file << x[i] << " " << y[i] << std::endl;
  }
  
  file.close();

  system("python plot_file.py");

  return 0;
}

ここでdata.txtというファイルにデータが書き込まれている。
最後にsystem関数でplot_file.pyを呼び出している。
以下、plot_file.py

import numpy as np
import matplotlib.pylab as plt

# ファイルの読み込み
readData = np.loadtxt( 'data.txt' )

# 転置
data = readData.T

plt.plot( data[0], data[1] )
plt.show()