GR is essentially based on an implementation of a Graphical Kernel System (GKS) and OpenGL. As a self-contained system it can quickly and easily be integrated into existing applications (i.e. using the ctypes mechanism in Python or direct calls from Julia with ccall syntax).

The GR framework can be used in imperative programming systems or integrated into modern object-oriented systems, in particular those based on GUI toolkits. GR is characterized by its high interoperability and can be used with modern web technologies and mobile devices. The GR framework is especially suitable for real-time environments.

GR was developed by the Scientific IT-Systems group at the Peter Grünberg Institute at Forschunsgzentrum Jülich. The main development has been done by Josef Heinen who currently maintains the software.

GR3 is a software library for simple visualization of 3D scenes. It was developed by Florian Rhiem as part of his bachelor’s thesis. GR3 is written in C and can also be used from Python or Julia through a wrapper module.

Starting with release 0.6 GR can be used as a backend for Matplotlib and significantly improve the performance of existing Matplotlib or PyPlot applications written in Python or Julia, respectively. In this tutorial section you can find some examples.

Beginning with version 0.10.0 GR supports inline graphics which shows up in IPython’s Qt Console or interactive computing environments for Python and Julia, such as IPython and Jupyter. A simple IPython notebook example (converted to HTML5) can be found here.

## Workstation Types¶

The layered architecture of GR and GKS allows the use of a wide variety of GUI toolkits and file formats using so-called workstations. You can select the workstation by setting the GKS_WSTYPE environment variable or by explicitly opening it using gks_openws.

### File formats¶

Plugin GKS_WSTYPE File Type
built-in pdf / 102 PDF
built-in ps / 62 PS
built-in eps / 62 EPS
built-in gif / 130 GIF
movplugin mov / 120 MOV
gsplugin bmp / 320 BMP
gsplugin jpg / jpeg / 321 JPEG
gsplugin png / 322 PNG
cairoplugin png / 140 PNG
gsplugin tif / tiff / 323 TIFF
figplugin fig / 370 FIG
svgplugin svg / 382 SVG
wmfplugin wmf / 390 WMF
htmplugin html / 430 HTML
pgfplugin pgf / 314 PGF

### Integrations¶

Plugin GKS_WSTYPE Description
qtplugin 381 Qt 4
qt5plugin 381 Qt 5
gtkplugin 371 GTK+
wxplugin 380 wxWidgets
glplugin 420 OpenGL

### Applications¶

Plugin GKS_WSTYPE Operating System
built-in 211 Linux
built-in 41 Windows
quartzplugin 400 macOS