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.

Zenzen
  • 269
  • 1
  • 3
  • 3

7 Answers7

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.

rvb
  • 420
  • 1
  • 8
  • 15
timaschew
  • 16,254
  • 6
  • 61
  • 78
  • Jzy3d now supports JOGL's most recent version (2-rc2), meaning the most recent platforms are supported! http://jzy3d.org/releases/0.9alpha2/ – Martin Pernollet Aug 14 '11 at 09:07
  • I settled on SurfacePlotter when JavaPlot refused to work. It was a breeze to use it with Scala. See snippet here: https://gist.github.com/1206559 – HRJ Sep 09 '11 at 18:25
  • 1
    Jzy3d looks really neat but there is mostly undocumented (javadoc-wise), which make it hard to begin with. – Matthieu Jun 08 '13 at 11:01
  • 1
    The JFreeChart author (me) has now released [Orson Charts 3D](http://www.object-refinery.com/orsoncharts/). Note that it's not free like JFreeChart. – David Gilbert Nov 19 '13 at 11:22
6

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

Community
  • 1
  • 1
weberste
  • 1,884
  • 2
  • 17
  • 12
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.

Stephan
  • 41,764
  • 65
  • 238
  • 329
eric
  • 210
  • 3
  • 3
5

Just found casmi, may be helpful.

Peter Lang
  • 54,264
  • 27
  • 148
  • 161
wealth
  • 51
  • 1
  • 1
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.

kgiannakakis
  • 103,016
  • 27
  • 158
  • 194
  • 1
    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) – Zenzen Nov 16 '09 at 08:54
  • @Zenzen - You may want to ask about the compiler errors if that is the root of your concern. – James Black Nov 16 '09 at 08:58
  • I bet your "strange errors" are related to your JVM version, website of JMathTools says a 1.5 jvm is required. – Joel Carranza Nov 16 '09 at 21:15
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/

Matt
  • 43,482
  • 6
  • 101
  • 102
-2

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

True Soft
  • 8,675
  • 6
  • 54
  • 83