Skip to content

Vindaar/ginger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ginger - a Grid like package in Nim

Ginger is a graphics package similar to R’s Grid package, which can be formed as a basis for a graphing library. It will be the foundation of ggplotnim a “port” of ggplot2 for Nim.

The basic idea is to provide basic primitives to draw on a canvas, while providing layering capabilities via Viewports and good handling of different coordinate systems.

The backend of this package currently uses cairo, but as long as a backend can provide a few primitives like drawLine, drawPoint and a few others, a new backend can be added quickly. Thanks to using cairo, we can easily output to png, svg and pdf among others.

NOTE: Still under heavy development!

Test examples

The following examples are not supposed to be pretty, but rather display different aspects of the library. They are basically just the images constructed. The images below are saved as png so they can be embedded in this README.

Setting axes

media/axisCheck.png

Axes and a background

media/debugAxes.png

Embed view into bottom right corner, rotate text

media/testEmbed.png

Test ggplot2 like colors

media/testGGCols.png

Testing nesting of axes

media/testNestedAxes.png

Constructing a whole “plot”

media/testView.png