Java 3D plot library? [closed]
Asked Answered
H

7

26

Ok so I'm doing a project on visualization of some financial stuff in java, the main objective is to take some input from the stock market, run it through a few equations and then plot the result as a 3D plot. I have almost everything done BUT the visualization (which is the most important I guess).

At first I was thinking about using java3d, but I'm running short on time and I don't really have the time to learn it. Is there any really simple library for visualizing 3D stuff in java (I need stuff like zooming, rotating etc.).

I found jmathtools (which looked perfect) but for some reason it doest want to compile.

Halfcock answered 16/11, 2009 at 8:30 Comment(0)
D
22

I try to make a summary and show a simple and effective way for creating plots (2d and 3d)

  • JFreeChart is a great tool but there are not 3d charts.
  • jzy3d can create realy amazing 3d charts, but you need third-party libraries and especially native platform-dependant libs, because it uses JOGL. I have a Mac with Snow Leopard (64bit) and there realy some terrible issues (I could not solve it). I think SWT+64 bit Mac OS X is the problem.
  • JMathTools is a smaller tool than the others, but the performance is bad with big datasets.
  • Surface Plotter is a realy nice tool, there are many 3d options and it don't uses JOGL or anything like this.

  • In My Alternative, I use a nice, user-friendly Java API (JavaPlot) which based on Gnuplot. In my example on github I add a mouse motion listener to a JPanel for interactive rotating a 3d chart. When you have Gnuplot experience, you can use the power of Gnuplot in any Java application.

Divisionism answered 12/7, 2011 at 18:10 Comment(4)
Jzy3d now supports JOGL's most recent version (2-rc2), meaning the most recent platforms are supported! jzy3d.org/releases/0.9alpha2Haymes
I settled on SurfacePlotter when JavaPlot refused to work. It was a breeze to use it with Scala. See snippet here: gist.github.com/1206559Tawana
Jzy3d looks really neat but there is mostly undocumented (javadoc-wise), which make it hard to begin with.Terrenceterrene
The JFreeChart author (me) has now released Orson Charts 3D. Note that it's not free like JFreeChart.Missi
C
6

I can recommend jzy3d. It's easy to use and produces very nice 3d plots.

Croat answered 23/11, 2010 at 19:15 Comment(0)
A
6

there is also Surface Plotter . It's dedicated to plotting 3d functions ( z = f(x,y) ). It's LGPL, 100% pure java-swing, and designed for reuse.

Areopagus answered 17/5, 2011 at 23:22 Comment(0)
V
5

Just found casmi, may be helpful.

Vaporimeter answered 30/5, 2012 at 12:30 Comment(2)
I looked quickly, but did not find any chart functionalityAnabasis
As of this writing, the casmi documentation isn't complete yet.Impenetrability
J
3

What exactly is wrong with the compilation of JMathTools? I also wanted to do a quick 3D visualization some time ago and I have successfully used JMathTools. The API is straightforward and zooming, rotating and panning come out of the box. It isn't possible to customize every aspect of the graph, but since it is open source, you have the chance to do the modifications yourself.

Juror answered 16/11, 2009 at 8:48 Comment(3)
Yeah indeed it looks perfect, but while trying to compile it (even the examples from their website) I'm getting some strange errors (something with classloader or something like that, sorry for not being precise but I don't have my laptop with me)Halfcock
@Halfcock - You may want to ask about the compiler errors if that is the root of your concern.Pattipattie
I bet your "strange errors" are related to your JVM version, website of JMathTools says a 1.5 jvm is required.Nickelous
S
1

Take a look at Processing

It is a Java-based visualization tool aimed at quick development time. It offers both 2D and 3D rendering modes.

It comes with its own editor, but its compiled code can be used along with your other Java code.

However, do note that its 3D mode uses JOGL.

EDIT Quick link to some of their 3D examples with source: http://processing.org/learning/3d/

Shorter answered 16/11, 2009 at 8:33 Comment(0)
C
-2

With JFreeChart you can do lots of charts in Java (even candlestick charts). Here are some samples.

Cynthiacynthie answered 16/11, 2009 at 20:12 Comment(2)
The OP asks for 3D plots, JFreeChart only supports 2D plots!Ease
There is now Orson Charts 3D - related to JFreeChart (by the same author), but not free.Missi

© 2022 - 2024 — McMap. All rights reserved.