10000 GitHub - jacobwilliams/pyplot-fortran at 3.1.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jacobwilliams/pyplot-fortran

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pyplot-Fortran

A simple module for generating plots from Fortran using Python's matplotlib.pyplot.

Overview

Currently, this module can be used to generate simple plots from Fortran. Eventually, it may be expanded to provide additional features and other types of plots.

The way it works is simply to generate a Python script with the plotting code, which is then executed from the command line using the Fortran execute_command_line function.

The module requires a modern Fortran compiler (it uses various Fortran 2003/2008 features such as deferred-length strings). It should work fine with the latest gfortran or ifort compilers. A simple script build.sh is provided for building the library and test program (requires gfortran and FoBiS). It will also build the HTML documentation if FORD is installed. A fpm.toml file is also provided for use with the Fortran Package Manager.

Supported plot types

  • matplotlib.pyplot.plot -- 2D/3D plot of lines and/or markers
  • matplotlib.pyplot.bar -- bar plot
  • matplotlib.pyplot.contour -- contour plot
  • matplotlib.pyplot.contourf -- filled contour plot
  • matplotlib.pyplot.imshow -- image plot
  • matplotlib.pyplot.hist -- histogram plot
  • matplotlib.pyplot.errorbar -- errorbar plot

Example

The following example generates a plot of the sine function:

 program test

 use,intrinsic :: iso_fortran_env, only: wp => real64
 use pyplot_module

 implicit none

 real(wp),dimension(100) :: x,sx
 type(pyplot) :: plt
 integer :: i

 !generate some data:
 x = [(real(i,wp), i=0,size(x)-1)]/5.0_wp
 sx = sin(x)

 !plot it:
 call plt%initialize(grid=.true.,xlabel='angle (rad)',&
                     title='Plot of $\sin(x)$',legend=.true.)
 call plt%add_plot(x,sx,label='$\sin(x)$',linestyle='b-o',markersize=5,linewidth=2)
 call plt%savefig('sinx.png', pyfile='sinx.py')

 end program test

Documentation

  • The API documentation for the current master branch can be found here. This is generated by processing the source files with FORD. Note that the build script will also generate these files automatically in the doc folder, assuming you have FORD installed.

See also

About

For generating plots from Fortran using Python's matplotlib.pyplot 📈

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 9

0