autogpy - AutoGnuplot.py
Automatic generation of gnuplot figures/scripts/data from python.
Author: Alessandro Corbetta, 2019
Documentation: https://acorbe.github.io/autogpy/
Which problem does it solve?
autogpy eliminates annoying duplications of code/data when doing data analytics in python and publication figures in gnuplot. Using a syntax close to gnuplot, it automatically generates gnuplot scripts and dumps suitably the data.
In the scientific community, gnuplot is a gold standard for publication-quality plots. Python is quickly becoming a tool of choice for data analytics. While it comes with several options for plotting, often gnuplot is preferred in production.
Features
- anything that be obtained by the gnuplot command
plotcan be produced - any gnuplot state modification can be achieved
- multiplots
plt.hist-like gnuplot histogram figures generator- jupyter notebook figure preview
- jupyter notebook gnuplot script inspection
- gnuplot terminals epslatex, tikz/pgfplot and jpg
- output figures are shipped in a folder that includes scripts, data and makefile
- easy scp-based synchronization between a machine in which the figures are generated (e.g. from even larger datasets) and the "paper writing" machine.
Works on
- Linux/MacOs
- Python 3
KWONW ISSUES
- Certain features require imagemagick and a working
gnuplot-tikz.lua. Some versions of these might have bugs. Dofigure.display_fixes()to show known fixes.
In a nutshell
Getting autogpy
From pip
pip install autogpy
From source
git clone git@github.com:acorbe/autogpy.git
pip install ./autogpy
Usage
import autogpy
import numpy as np
xx = np.linspace(0,6,100)
yy = np.sin(xx)
zz = np.cos(xx)
figure = autogpy.AutogpyFigure("test_figure","test1")
figure.p_generic(r'u 1:2 with lines t "sin"',xx,yy)
figure.p_generic(r'u 1:2 with lines t "cos"',xx,zz)
figure.generate_gnuplot_file()
figure.jupyter_show_pdflatex() # only in jupyter
will generate the following figure (also appearing in jupyter)
Most importantly, the following source and data will be created in the folder test_figure
$ ls test_figure
Makefile
sync_me.sh
test1__0__.dat
test1__1__.dat
test1__.core.gnu
test1__.jpg.gnu
test1__.pdflatex_compile.sh
test1__.pdflatex.gnu
test1__.tikz_compile.sh
test1__.tikz.gnu
With make one can obtain jpg, epslatex, and tikz/pgfplot versions of the figure.
Notice that the input data has been formatted automatically.
Inspecting test1__.pdflatex.gnu, responsible of the epslatex version of the figure, one gets:
set terminal epslatex size 9.9cm,8.cm color colortext standalone 'phv,12 ' linewidth 2
set output 'fig.latex.nice/plot_out.tex'
load "test1__.core.gnu";
while test1__.core.gnu reads:
p "test1__0__.dat" u 1:2 with lines t "sin",\
"test1__1__.dat" u 1:2 with lines t "cos"
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file autogpy-0.1.4.tar.gz.
File metadata
- Download URL: autogpy-0.1.4.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fa12364d53d6f9005d847edd881ef20287bd385189d89f218c31267a45aab51
|
|
| MD5 |
8aebd452a884ab969ca5cb84b3ea6ef5
|
|
| BLAKE2b-256 |
d7276c95e67fd118904276ad01b440c78ec5b68aa26719b5d6c29eae1cc2889e
|