catplot
catplot copied to clipboard
A Python Library for Energy Profile and Abstract Grid(2D/3D) plotting
======= catplot
.. image:: https://travis-ci.org/PytLab/catplot.svg?branch=master :target: https://travis-ci.org/PytLab/catplot :alt: Build Status
.. image:: https://landscape.io/github/PytLab/catplot/master/landscape.svg?style=flat :target: https://landscape.io/github/PytLab/catplot/master :alt: Code Health
.. image:: https://codecov.io/gh/PytLab/catplot/branch/master/graph/badge.svg :target: https://codecov.io/gh/PytLab/catplot
.. image:: https://img.shields.io/badge/python-3.5, 2.7-green.svg :target: https://www.python.org/downloads/release/python-351/ :alt: platform
.. image:: https://img.shields.io/badge/pypi-v1.3.3-blue.svg :target: https://pypi.python.org/pypi/catplot/ :alt: versions
Introduction
CatPlot is a Python Library for Energy Profile and Abstract Grid(2D/3D) plotting.
Installation
-
Via pip (recommend)::
pip install catplot
-
From source::
python setup.py install
See examples <https://github.com/PytLab/catplot/tree/master/examples>_ for more details(Continuously updated).
Energy Profile Plotting
CatPlot can plot energy profile using interpolation algorithm.
Plot an energy profile for an elementary reaction.
.. code-block:: python
>>> from catplot.ep_components.ep_canvas import EPCanvas
>>> from catplot.ep_components.ep_lines import ElementaryLine
# Create an energy profile canvas.
>>> canvas = EPCanvas()
# Create an energy profile line.
>>> line = ElementaryLine([0.0, 1.2, 0.8])
# Add line to canvas.
>>> canvas.add_line(line)
# Plot it.
>>> canvas.draw()
>>> canvas.figure.show()
Result:
.. image:: https://github.com/PytLab/catplot/blob/master/pic/energy_profile.png
2D Grid Plotting
You can use CatPlot to plot abstract lattice grid, see example <https://github.com/PytLab/catplot/tree/master/examples/grid_2d_examples/expand_supercell.ipynb>_ for details.
Result:
.. image:: https://github.com/PytLab/catplot/blob/master/pic/grid_2d.png
3D Grid Plotting
Now CatPlot can plot abstract 3D lattice grid, see example <https://github.com/PytLab/catplot/tree/master/examples/grid_3d_examples/expand_3d_supercell.ipynb>_ for plot details.
Result:
.. image:: https://github.com/PytLab/catplot/blob/master/pic/grid_3d.png
Important update log
.. csv-table:: :header: "Date", "Version", "Description"
"2017-04-23", "1.2.0", "Add 3D grid plotting"
"2017-04-17", "1.1.0", "Add 2D grid plotting"
"2017-04-10", "1.0.0", "A brand new CatPlot"
"2015-08-03", "0.0.1", "Intial Version"