A Python package to plot fractional composition diagrams and pH-log c diagrams
pip install pH-diagrams
The class Acid
must be imported from ph_diagrams
. To create diagrams for the
acetic acid:
>>> from ph_diagrams import Acid >>> import matplotlib.pyplot as plt >>> fig, axs = plt.subplots(nrows=1, ncols=2) >>> acetic_acid = Acid(pKa=(4.76,), acid_concentration=0.1) >>> acetic_acid.plot(plot_type='distribution', backend='matplotlib', title='Acetic acid - Distribution diagram', ax=axs[0], legend=False) >>> acetic_acid.plot(plot_type='pC', backend='matplotlib', title='Acetic acid - pH-log c diagram', ax=axs[1]) >>> plt.show()
As can be seen, the parameter pKa
must be a tuple even if there is only one value.
The above example generates the following plot, with both diagrams side by side:
The plots above were made with Matplotlib, the default backend.
Changing the backend
parameter to plotly
, and removing the ax
parameter
(it works only with Matplotlib), will open a browser window for each plot.
Since Plotly is interactive, the user can zoom, pan, and see values on hover.
For more basic usage examples, see the tutorial.ipynb
notebook on notebooks
folder.
In the same folder, the tutorial_interactive_ipywidgets.ipynb
file shows how to
use ipywidgets to create interactive diagrams.
Full documentation is hosted on Read the Docs.
A live interactive version of this project can be seen clicking in the following badge:
The web app was made with Streamlit and hosted on Heroku.
A local version of the Streamlit app can be used cloning the repo and running
streamlit run Home.py
on a terminal. A browser window will open (if not, follow
the instructions shown on the terminal output).
A brief explanation on the chemical theory behind each diagram can be seen here.
All contributions are welcome.
Issues
Feel free to submit issues regarding:
- recommendations
- more examples for the tutorial
- enhancement requests and new useful features
- code bugs
Pull requests
- before starting to work on your pull request, please submit an issue first
- fork the repo
- clone the project to your own machine
- commit changes to your own branch
- push your work back up to your fork
- submit a pull request so that your changes can be reviewed
For full contribution guidelines and details check out our contributing guide.
If you use this project in a scientific publication or in classes, please consider citing as
F. L. S. Bustamante & H. B. Soares & N. O. Souza, pH diagrams, 2021. Available at: https://github.com/chicolucio/pH-diagrams