Subscribe to DSC Newsletter

3-D Visualizations with rotating charts, for small and big data

Do you know any software that will produce rotating charts to truly display 3-D on a 2-dimensional screen? Also, what kind of data - more precisely, what kind of insights (and users) - would benefit most from this technology? Can Tableau, R or other software do it? The rotating Earth below was produced with Matlab.


It would be even better if you can zoom on it, or increase rotation speed, change the rotation axis etc.

Related articles:

Views: 10975

Reply to This

Replies to This Discussion

Here's a comment posted by one of our readers:

In R with "rgl" package you can do things like this: 

http://www.youtube.com/watch?v=prdZWQD7L5c 

And although it is not 3D, there is another package "animation" which can create a video by stiching several images together and you can do things like this: 

https://vimeo.com/4745847

Hi Vincent,

in your case any interactive solution will be too much slow because there is too much data on this picture. So rgl will be slow solution although it supports import of mesh of triangles.

For rotating animation you should use some external ray tracing software. Rendering will take some time, and the result will be picture sequence which can be joined with ffmpeg or some other software.

Process of creation of animation will be by generating ,for example, PovRay code in R (triangular mesh) and write it to  file, and then perform shell execution of PovRay directed to that file.

I have found some code for povray of mars model which is similar to your example:

http://paulbourke.net/miscellaneous/mars/

Another comment by one of our readers:

I use Python as the glue for my data needs these days so my answer will be a bit biased towards that. 
- Gephi https://gephi.org/ 
- mayavi http://mayavi.sourceforge.net/ 

There is also something new coming out in a few months called Bokeh. The beta is available here: 
https://github.com/ContinuumIO/Bokeh

One more link: http://www.visualcomplexity.com/vc/

Vincent Granville said:

Another comment by one of our readers:

I use Python as the glue for my data needs these days so my answer will be a bit biased towards that. 
- Gephi https://gephi.org/ 
- mayavi http://mayavi.sourceforge.net/ 

There is also something new coming out in a few months called Bokeh. The beta is available here: 
https://github.com/ContinuumIO/Bokeh

From Robert Vanderbei:

Javascript/WebGL works very well. Here are some examples... 

http://www.orfe.princeton.edu/u/rvdb/planets_webgl/index.html 
http://www.princeton.edu/~rvdb/JAVA/election2012/ 
http://www.princeton.edu/~rvdb/WebGL/catenoid_cosh.html 
http://www.princeton.edu/%7Ervdb/WebGL/New.html 

On the Purple America page, be sure to click on the 3D image to download the rotatable and draggable WebGL version. 

Caveat: WebGL does not work in InternetExplorer. It works in all other browsers provided they are up-to-date. In some browsers you need to click on "Enable WebGL" in some preferences menu.

gGobi has many facilities for plotting 3D data and a nice interface to R. 
http://cran.r-project.org/web/packages/rggobi/index.html



Amy said:

gGobi has many facilities for plotting 3D data and a nice interface to R. 
http://cran.r-project.org/web/packages/rggobi/index.html

I use R extensively but have not yet used gGobi. In the past I've used the animate package to produce rotating 3D (and other animated 2D plots) by repeatedly producing snapshots then combining them into an animated GIF or MPEG. The animated GIFs are nice because they can be embedded easily into PowerPoint presentations. However they don't have Pause/Stop controls so it is difficult to examine any features of the output closely. For that I use an MPEG version that can be started and stopped. Is there a better way to handle this?

I'm not familiar with the tools, but this kind of presentation could be used in such situations below.

 - To compare a certain variable among "large cities" on earth instead of "countries" or "continuous areas"

   (because the values are clearly visible as spikes at corresponding cities)

 - To share and discuss not only design but also other variables (stress, strain or temperature, etc.) of architectures

 - To teach how to solve solid problems in math class of high school

And here's how to do it with SAS:

SAS Analytics Pro http://bit.ly/MBY6SW and Office Analyticshttp://bit.ly/NmYPXG can do this. One can create their 3-D graph and then export it out as an html file. They then have the ability to zoom in, rotate, etc. In SAS, you can bring in any kind of data, you would just need the appropriate access engine. 

Here is a link from our support page, let me know what you think! http://bit.ly/10QDQ0j

I use JMP for making 3-D plots. It is menu driven so there is no coding, and the positioning is accomplished by clicking and dragging the figure. What I really like is that the axis scales can be edited by stretching and sliding with the mouse. The color and size of the markers can be determined with separate variables. (yep, 5 dimensions on one graph, unless you use different markers too)

Currently (JMP v10) dynamic figures can be manipulated inside JMP, and only 2-D images can be exported. 

http://bit.ly/17rZJth

Hi Vincent, This is pretty old, so forgive me for possibly telling you what you already know. Have you tried the VTK? The learning curve is steep (I find, at least), but the results are quite amazing. It has great bindings through mayavi for Python 2/3:

mayavi

Reply to Discussion

RSS

Follow Us

Videos

  • Add Videos
  • View All

Resources

© 2017   Data Science Central   Powered by

Badges  |  Report an Issue  |  Privacy Policy  |  Terms of Service