Jzy3d is an open source java library that allows to easily draw 3d scientific data: surfaces, scatter plots, bar charts, and lot of other 3d primitives. The API provides support for rich interactive charts, with colorbars, tooltips and overlays. Axis and chart layout can be fully customized and enhanced.

Relying on JOGL 2, you can easily deploy native OpenGL charts on Windows, Unix, MacOs (...) and integrate into Swing, AWT, or SWT. Various contributions have also made Jzy3d available for other languages/platforms such as Scala, Groovy, and Matlab.

The API can be used freely in commercial applications. You can download and try the API samples. A tutorial shows how to display scatters and surfaces. An extended developper guide with many code examples is also available.

Multiple chart types

  • Surface charts
  • Bar charts
  • Scatter charts
  • 2d & 3d graphs charts
  • Rich chart options
  • Many primitives (spheres, triangles, polygons, ...)

Flexible layout

  • Colorbars
  • Colormappers for coloring objects
  • Axe box layout with detailed tick definition and tick rendering tools
  • Contour functions
  • Tooltips
  • Background images
  • 2D post renderers
  • Lights


  • Grid based and Delaunay surface tesselation methods
  • 3d Bernstein interpolators
  • 2d Convex hulls
  • Transparency based on polygon ordering
  • Dual depth peeling: scene graph order independent transparency (expected for 1.0)
  • Matlab-like array processors and statistics tools
  • Experimental Support Vector Machine integration (Svm3d)


  • Mouse interaction with objects (selection & picking methods)
  • Mouse interaction with chart (rotation, zoom, scale)
  • Key interaction with chart (rotation, zoom, scale)
  • Thread Controllers
  • Animation of objects' structures (surface, series of lines, etc)

Cross platforms

  • Straightforward integration to either AWT, Swing, or Eclipse RCP
  • Windows, Unix, and MacOS.
  • Desktop / Web (applets)
  • Offscreen rendering

Cross language

  • Scala
  • Groovy
  • Griffon
  • Matlab

High and low level OpenGL programming

  • Hide complexity and provide out of the box solutions for common low level OpenGL tasks.
  • Fully cutomizable framework with access to all OpenGL native features through JOGL.