Figular generates visualisations from flexible, reusable parts
Project description
Figular
Figular generates visualisations from flexible, reusable parts. It is in early development so use with caution.
The official repository is https://gitlab.com/thegalagic/figular.
Table of Contents
Install
Prerequisites:
- Linux
- Python 3
- Asymptote. This may be in your
distribution's repositories already as
asymptote
. If not see Asymptote's Installation docs. - XeTeX. This may be in your distribution's
TeX Live package already so try installing
texlive
. If not then it's often installed explicitly astexlive-xetex
. - dvisvgm. A dependency of asymptote required for
producing SVG graphics. This may be in your distribution's repositories under
dvisvgm
,texlive-dvisvgm
ortexlive-extra-utils
. If not see dvisvgm's Downloads page.
Install the latest version via pip:
pip install figular
This will install the cmdline tool fig
. For usage see below.
Background
Producing visualisations and documents can result in a lot of effort that is hard to reuse. Work such as drawing a diagram by hand, arranging items, placing text, aligning graphs and choosing colours may have to be repeated if a document needs to be updated or expanded to depict new data.
If we can automate that work and have our visualisations react to new data intelligently we can get a much higher level of reuse. If we can build a community we can share our efforts with others and build on their work in turn.
Figular is designed to help in particular situations where:
- You need to produce a good looking visualisation, image, document
- You need to produce it more than once, for example a report or dashboard, a set of labels, marketing campaign graphics.
- The visualisation may need to adapt in future to changes in the data driving it, design changes, layout tweaks etc.
- You want to share/collaborate on the visualisation or leverage the work of others.
Figular provides preprepared visualisations that you can populate with your own data and tweak the style or layout. You can also develop your own and share with the community. Visualisations can be combined, remixed and adapted.
It's available in the browser and at the cmdline.
Usage
Figular produces SVG files. Run it from the cmdline:
fig [FIGURE] ARGUMENTS
You can specify FIGUREs by name, for example concept/circle
. Follow this with
arguments in the form param=ARGUMENT
. If an argument contains spaces surround
with it with quotes to prevent your shell from splitting the argument.
For example to use the concept/circle
figure and pass it some blob
arguments:
fig concept/circle blob=One blob=Two
This will produce a file out.svg
.
Full documentation and a list of all figures is available in the docs directory of the source repository or your installation i.e. /docs/Figular.md.
Thanks
Like all free/open source software Figular is made possible by building on the shoulders of giants. Our thanks to every contributor and maintainer who have brought the ecosystem to where it is today.
In particular we thank the Asymptote project whose graphics language makes it easy to design pictures with code.
Contributing
It's great that you're interested in contributing. Please visit the wiki for how to get involved.
License
We declare our licensing by following the REUSE specification - copies of applicable licenses are stored in the LICENSES directory. Here is a summary:
- All source code is licensed under AGPL-3.0-or-later.
- Anything else that is not executable, including the text when extracted from code, is licensed under CC-BY-SA-4.0.
For more accurate information, check individual files.
Figular is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
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.