views:

214

answers:

4

I have been working on projects that deal with 2-Dimensional graphing, UML diagramming and relational graphing (node-link diagrams). I am interested in moving to projects that deal more with 3-Dimensional graphing of scatter plots and 3-Dimensional navigation. Could someone suggest a few books, or libraries that would help me get started?

EDIT: I don't think I was very clear in my question. The focus of my work is information and scientific visualization so I need something that is not only good for drawing but also for visualizing data.

+2  A: 

JOGL (Java Open GL) is the standard 3d library for java. The OpenGL "Red Book" is the standard Book for Open GL programming.

I dunno if there are any good packages for doing 3d plotting out of the box, though.

Chad Okere
I just started looking at OpenGl and it seems like it would be good for drawing but would it be effective for data visualization?
macneil
You might need to write the visualization code yourself. It's not that hard.
Chad Okere
I think I might use JMathPlot for scientific information and OpenGL for everything else. Thank you for the suggestions
macneil
A: 

JFreeChart is a very good graphing library for Java.

JasCav
JFreeChart is one of the graphing libraries I use for 2D graphs, however; I don't think it can be used for 3D graphing.
macneil
A: 

How about the 3D functionality of processing? Or is that too generic for your needs?

jilles de wit
I always had the impression that http://processing.org was only used for prototyping and not for robust applications. Is this the case?
macneil
The point of processing is that it allows anyone to get a quick visual feedback based on their scripts which allows people to prototype their crazy ideas such as "Hey, what if I multiply sin curve with tanh!?" That means it's good/great for prototyping but it's not the only thing it can do.
Esko
I think processing is suitable for production use. It might be too generic for your specific use though. I doesn't have easy "plot3d" like commands such as gnuplot, R or matlab
jilles de wit
+2  A: 

How about using one of the Java frontends for GNUplot?

Another possibility would be to use the Java/R interface and let R do the heavy lifting inside your Java app.

One last option is JMathPlot.

Suppressingfire
I looked into using JMathPlot and I like it alot. Thank you for the suggestion.
macneil