Simple Python plot
Call this pip package to easily create:
- a boxplot
- a multi-line plot
- a latex table
Example Boxplot
python -m simplt --box-plot
Which is the same as running:
from simplt.boxplot.boxplot import create_box_plot
import numpy as np
extensions=[
".png",
],
filename="example_box",
output_dir="output",
# Fixing random state for reproducibility
np.random.seed(7)
# Generate dummy data.
first = [39, 44, 50, 50, 58, 63]
second = [80, 100, 100, 120]
# Add a name for each boxplot for in the legend, and y values.
y_series = {"data_1": first, "data_2": second}
create_box_plot(
extensions=extensions,
filename=filename,
legendPosition=0,
output_dir=output_dir,
x_axis_label="x-axis label [units]",
y_axis_label="y-axis label [units]",
y_series=y_series,
)
And creates:
Example Multi-Line Plot
python -m simplt --line-plot
Which is the same as running:
from simplt.line_plot.line_plot import line_plot
import numpy as np
extensions=[
".png",
],
filename="example_line",
output_dir="output",
multiple_y_series = np.zeros((2, 2), dtype=int)
# actually fill with data
multiple_y_series[0] = [1, 2]
lineLabels = [
"first-line",
"second_line",
] # add a label for each dataseries
single_x_series = [3, 5]
plot_multiple_lines(
extensions=extensions,
filename=filename,
label=lineLabels,
legendPosition=0,
output_dir=output_dir,
x=single_x_series,
x_axis_label="x-axis label [units]",
y_axis_label="y-axis label [units]",
y_series=multiple_y_series,
)
And creates a (colorblind-friendly) lineplot:
Example Multi-Group Scatter Plot
python -m simplt --dot-plot
Which is the same as running:
from simplt.dotted_plot.dotted_plot import plot_multiple_dotted_groups
import numpy as np
single_x_series = [3., 5.]
multiple_y_series:Dict[int,Dict[float,List[float]]] = {}
# actually fill with data
multiple_y_series[0]={}
multiple_y_series[0][single_x_series[0]] = [1., 2., 5.]
multiple_y_series[0][single_x_series[1]] = [0., 6.]
multiple_y_series[1]={}
multiple_y_series[1][single_x_series[0]] = [3., 4.]
multiple_y_series[1][single_x_series[1]] = [1., 5.]
groupLabels = [
"first_group",
"second_group",
] # add a label for each dataseries
print(multiple_y_series)
plot_multiple_dotted_groups(
extensions=extensions,
filename=filename,
label=groupLabels,
legendPosition=0,
output_dir=output_dir,
x_axis_label="x-axis label [units]",
y_axis_label="y-axis label [units]",
y_series=multiple_y_series,
)
And creates a (colorblind-friendly) dotplot:
For Developers
Below are pip-package publication instructions.
Releasing pip package update
To udate the Python pip package, one can first satisfy the following requirements:
pip install --upgrade pip setuptools wheel
pip install twine
Followed by updating the package with:
python3 setup.py sdist bdist_wheel
python -m twine upload dist/\*
Developer pip install
Build the pip package with:
pip install --upgrade pip setuptools wheel
pip install twine
Install the pip package locally with:
rm -r dist
rm -r build
python3 setup.py sdist bdist_wheel
pip install -e .
Upload the pip package to the world with:
rm -r dist
rm -r build
python3 setup.py sdist bdist_wheel
python3 -m twine upload dist/\*