TikzPlot
A clean version of PltToTikz, this time as Python package. Easy to use: only replace import matplotlib.pyplot with this library.
Please let me know if you find any bugs or unexpected behaviour. Examples may be found in repository under tests/ directory.
Installation
NEW: PyPI: pip install tikzplot42.
Alternativley, download this package and install using: pip install [path], where [path] is the path to the directory, containing pyproject.toml.
Python usage
Instead of using import matplotlib.pyplot (as plt), use import tikzplot.plots (as plt).
LaTeX requirements
\usepackage{tikz},\usepackage{pgfplots},\pgfplotsset{compat=1.18}(may be lower, but compilation is not guaranteed),\usepgfplotslibrary{fillbetween}(if you use fill-between plots),\usepgfplotslibrary{groupplots}(recommended for best results, enabled by default, may be avoided by setting TikzConfig USE_GROUPPLOTS=False),\usepackage{xcolor}(recommended for best colors, works without but needs change of TikzConfig USE_XCOLOR=False),\usepgfplotslibrary{polar}required for polar axis.
Export using plt.savefig("example_graph.tex") (recommended) or plt.show().
Then use the generated file as \input{example_graph.tex}.
Currently implemented:
Some basic plot commands are already implemented with commonly used arguments:
Plotting
plot(),scatter(),loglog(),semilogx()/semilogy(),errorbar(),stem(),fill_between(),hlines()/vlines(),histogram(),step(),imshow(),text(),magnify()(used to magnify part of a plot, but Tikz cannot handlefill_betweenif this one is used, which is a long known issue),axvline()/axhline(),axvspan()/axhspan()(background span).
Figures
plt.figure()(currently only to give you figure object or to setfigsize),plt.subplot(),plt.subplots()(withsharex/shareyfully implemented, projectionpolarand3dwith basic support),set_size_inches(),delaxes().
Styles
If axes and plot have different name for command with same effect, both are implemented (e.g. plt.xlim() and ax.set_xlim()).
grid(),xlabel()/ylabel(),xlim(), ylim(),xscale("log")/yscale("log"),xticks()/yticks(),ax.set_xticklabels()/ax.set_yticklabels(),legend()(basic position control),ax.twinx(),ax.set().
There is a limited support for built-in styles (e.g. plt.style.use("default")), you may also define your own style using plt.style.set_profile(). Currently supported features are: color cycle (hex colors sequence), line width (in pt), grid (with matplotlib kwargs), background (latex style key=value), additional settings (raw latex code for optional arguments to axis: key=value).
Supported common **kwargs
color/c(all matplotlib formats, except color schemes which are not yet implemented),linestyle/ls,linewidth/ls,fmt,marker,marksize/ms,alpha,label.
Colorbars
Colorbars and colormaps are implemented a bit differently than in matplotlib (simplified):
- if you use
imshow(), you may use its return inColorbar()(which you have to import asfrom tikzplot import Colorbar), - you may use
Colorbar(axis, cmap, lower, upper, ...)for manual colorbar. Additional kwargs may also be used byimshow()return, - note that only one colorbar/colormap per axis is allowed (also if you use
scatterwith colormap/colorbar).
TikzConfig
For plot configurations (default sizes, paddings, etc.), use from tikzplot import TikzConfig:
modifyParam(PARAM=value)(for runtime session setting),setPermanent(PARAM=value)(for user defined default value). Currently supported parameters are listed with their default values insrc/tikzplot/config.py.
More features coming soon...
- more developed styles,
- improved 3D plots (currently only basic support: plot, errorbar, fill_between, scatter, plot_wireframe, plot_surface),
- ...
Release files for tikzplot42 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tikzplot42-0.4.3.tar.gz | 91.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tikzplot42-0.4.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 170.7 kB
Release files / tikzplot42-0.4.3.tar.gz
| Download URL | tikzplot42-0.4.3.tar.gz |
|---|---|
| Size | 91.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
161303484d51b4656638b8b2f199752fb6d13bf6c6792d4b6db464b88ad69783
|
|
BLAKE2b-256 checksum How to use checksums |
9c440d7b2bc787c99a1fcbc917fde81b2f8cf5d89b5c3aad92a18e2874536f42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / tikzplot42-0.4.3-py3-none-any.whl
| Download URL | tikzplot42-0.4.3-py3-none-any.whl |
|---|---|
| Size | 79.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
427f87a26720b2c7d073267b69b76097d208bcda99c27234d00b785ce1b9a611
|
|
BLAKE2b-256 checksum How to use checksums |
3da691e36a9ad9ea65e3d0f19d08f67247fa2c521211fec5bce6295e6d6a8191
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|