autogpy: AutoGnuplot.py - automatic generation of gnuplot figures (including script and data) from python
Project description
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
plot
can 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"
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
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
|