fortran のスクリプトから直接画像を生成できる。
インストール
fpm をあらかじめインストールしておく (参考).
git clone https://github.com/jacobwilliams/pyplot-fortran.git
cd pyplot-fortran/
fpm build
fpm test
fpm install
sudo mv ~/.local/lib/libpyplot-fortran.a /usr/local/lib
sudo mv ~/.local/include/pyplot_module.mod /usr/local/include
ソースコード・コンパイル
program test
use pyplot_module, only : pyplot, wp => pyplot_wp
implicit none
integer, parameter :: N = 100
real(8), parameter :: pi = 4.d0*atan(1.d0)
real(8), parameter :: dx = 2.d0*pi / dble(N-1)
real(8) :: x(N)=0.d0, y(N)=0.d0
integer :: i
type(pyplot) :: plt
integer :: istat
! set function
do i = 2, N
x(i) = x(i-1) + dx
end do
y = sin(x)
! plot graph
call plt%initialize(grid=.true., xlabel='x', ylabel='y', figsize=[8,5], title='sinwave')
call plt%add_plot(x,y, label='sin', linestyle='b-o', markersize=1, linewidth=2, istat=istat)
call plt%savefig('graph.png', istat=istat)
end program test
gfortran test.f90 -I/usr/local/include -L/usr/local/library/ -lpyplot-fortran
./a.out
結果
結構便利かも。
他にも build したときの test をみると pyplot でプロットできるグラフなら何でもプロットできそう。
出力過程は tmp.py に関数の数値データを全て入力した後に実行しているから、重いデータのプロットには時間がかかるかも
0 件のコメント:
コメントを投稿