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, SWT, or JavaFX. Various contributions have also made Jzy3d available for other languages/platforms such as Scala, Groovy, Matlab, C#.

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, ...)

Easy to use

// Define a function to plot
Mapper mapper = new Mapper() {
	public double f(double x, double y) {
		return 10 * Math.sin(x / 10) * Math.cos(y / 20);

// Define range and precision for the function to plot
Range range = new Range(-150, 150);
int steps = 50;

// Create a surface drawing that function
Shape surface = Builder.buildOrthonormal(new OrthonormalGrid(range, steps, range, steps), mapper);
surface.setColorMapper(new ColorMapper(new ColorMapRainbow(), surface.getBounds()));

// Create a chart and add the surface
Chart chart = new AWTChart(Quality.Advanced);
chart.add(surface);"Jzy3d Demo", 600, 600);

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

Cross platforms

  • Straightforward integration to either AWT, Swing, Eclipse RCP (SWT), or JavaFX
  • Windows, Unix, and MacOS.
  • Desktop / Web (see this demo applet)
  • Offscreen rendering

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. © All Rights Reserved 2009-2014