diagrams

Embedded domain-specific language for declarative vector graphics

http://projects.haskell.org/diagrams

Version on this page:1.3.0.1
LTS Haskell 22.40:1.4.1
Stackage Nightly 2024-11-05:1.4.1
Latest on Hackage:1.4.1

See all snapshots diagrams appears in

BSD-3-Clause licensed by Brent Yorgey
Maintained by [email protected]
This version can be pinned in stack with:diagrams-1.3.0.1@sha256:8a48413595a7a7a03df8d1d0e35bc8f9a4361f2433baf75ecdbccd506bc86a84,5487

Module documentation for 1.3.0.1

There are no documented modules for this package.

Build Status

diagrams is a full-featured framework and domain-specific langauge (embedded in Haskell) for creating declarative vector graphics and animations.

This package is just a convenient wrapper around the diagrams-core, diagrams-lib, diagrams-svg, and diagrams-contrib packages, so they can be installed with a single cabal install diagrams command.

The package also comes with flags to enable six different backends. The native SVG backend is enabled by the -fsvg flag and is enabled by default. If you don’t want it, you must explicitly disable it with -f-svg.

The native postscript backend is disabled by default but can be enabled by the -fps flag.

The cairo backend is disabled by default but can be selected with the -fcairo flag. In addition, the GTK backend is based on the cairo backend (but split into a separate package to make installing the cairo backend easier). It can be selected with the fgtk flag.

The native rasterific backend which is disabled by default but can be selected with the -frasterific flag.

The native canvas backend which is disabled by default but can be selected with the -fcanvas flag.

Installation

cabal update && cabal install diagrams

or, to get the postscript backend in addition to the SVG backend:

cabal update && cabal install -fps diagrams

or, to get the cairo backend in addition to the SVG backend:

cabal update && cabal install gtk2hs-buildtools && cabal install -fcairo diagrams

Reporting bugs

Issue trackers for all diagrams-related repositories are hosted under the diagrams organization on github. If you know the specific package containing the bug, report it in the issue tracker specific to that package (for example, diagrams-lib). Otherwise, just report the issue in the issue tracker for the general diagrams repository.

Further reading

For more information, including a gallery of examples, tutorial, and user manual, see the diagrams website. For help, join the #diagrams IRC channel on Freenode or the mailing list.