Useful methods for plots used in science
Project description
Scientific Plots
Create and save plots in scientific style
Table of Contents
[[TOC]]
Overview
This python module includes useful methods and definitions for various python
projects.
The focus lies of on the automatic creation of a set of plots, which are
designed to be used in scientific journals, dissertations and presentations.
The most important components are the definitions of types compatible
for numpy, located in types_.py
, and the typing stubs in stubs/
. These
typing stubs are also distributed in this package.
Plotting
The easiest way to implement the plotting features provided by this library, is
to use one of the predefined function in scientific_plots.default_plots
.
Alternatively, any plotting functions can be decorated by using the
apply_styles
decorator in scientific_plots.plot_settings
.
For example, this could look like this:
import matplotlib.pyplot as plt
from scientific_plots.plot_settings import apply_styles
@apply_styles
def plot_something() -> None:
"""Example function."""
plt.plot(...)
...
plt.savefig("subfolder/your_plot_name.pdf")
The script will create a bunch of plots and place them in the given location next to your given path. Thus, it is advisable to create a different subfolder for new plots.
For three-dimensional plots, it is recommended to set the optional argument three_d of the decorator to true:
@apply_styles(three_d=True)
def plot_function():
...
Alternatively, this package provides default plot settings in the submodule default_plots. The provided function apply a default design, which should look good in most situations.
from scientific_plots.default_plots import plot
plot(x, y, "x_label", "y_label", "subfolder/filename.pdf")
Besides this simple plot, this library also provides the following default
plots:
plot_fit
: Plot data and a fit of this data.
def fit_function(x):
...
# fit some data
...
return y
plot_fit(
x, y, fit_function, "x_label", "y_label",
"subfolder"/"filename.pdf")`
two_plots
: Plot two curves sharing a single y-axis.
two_plots(
x1, y1, "label1",
x2, y2, "label2",
"xlabel", "ylabel", "subfolder"/"filename".pdf)
two_axis_plots
: Plot two curves with two y-axis in a single graph.
two_axis_plots(
x1, y1, "label1",
x2, y2, "label2",
"xlabel", "ylabel1", "ylabel2",
"subfolder"/"filename".pdf)
All of those functions have the following command-line arguments:
logscale
: Plot the data double logarithmic.single_log
: Plot the x-axis logarithmic.single_log_y
: Plot the y-axis logarithmic.xlim
: Set the limits on the x-axis manually.ylim
: Set the limits on the y-axis manually.
Preview-Mode
It is possible to only create a single plot for every called plot function
to save computation time. This 'preview' mode can be called by setting the
following global variable in scientific_plots.plot_settings
to true:
import scientifc_plots.plot_settings
scientifc_plots.plot_settings.PREVIEW = True
Types
Additional Vector like types for numpy-arrays are provided in
scientifc_plots.types_
. These types can be used for static type checking
using mypy.
Typing Stubs
Addtional typing stubs for scipy, matplotlib and numba are provided and installed by this package. These packages do not provide type hints on their own.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file scientific_plots-1.8.5.tar.gz
.
File metadata
- Download URL: scientific_plots-1.8.5.tar.gz
- Upload date:
- Size: 35.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e004c4edc216e2a5975acace69009b18a0c1d0f61afd4fdcca8ab5f60692372e |
|
MD5 | b41f5b0e730ced3d38b99992961834cc |
|
BLAKE2b-256 | af879877f932fcc7bb22f3f9b0e1120b1761aa76ea25940368b87a7debae5401 |
File details
Details for the file scientific_plots-1.8.5-py3-none-any.whl
.
File metadata
- Download URL: scientific_plots-1.8.5-py3-none-any.whl
- Upload date:
- Size: 39.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4de15c446ba2c8e880ce045c7af6cd124fbfea04e07faefe6c27d4abbf0e93d2 |
|
MD5 | 504ad7452c75dbdae58271701582a4f1 |
|
BLAKE2b-256 | f47e422502d328394a9f1613b79c05625c8cd0aaa26261c3c318b2355241911e |