There is an error (I believe) in the DataSizeAction code. Sometimes the getSize() method returns NaN which completely messes up with the SquarifiedTreeMapLayout that I'm using (it gets it into an infinite loop). The error seems to be in the setup function that tries to calculate the range using the max and the min of the distribution. The equation tries to divide max/min but min can be 0 some times.

Here is the patch. I tried to submit a bug using the tracker but it seems to have a bug too ;)

### Eclipse Workspace Patch 1.0
#P prefuse
Index: src/prefuse/action/assignment/DataSizeAction.java
===================================================================
RCS file: /cvsroot/prefuse/prefuse/src/prefuse/action/assignment/DataSizeAction.java,v
retrieving revision 2.6
diff -u -r2.6 DataSizeAction.java
-- src/prefuse/action/assignment/DataSizeAction.java 10 Apr 2006 18:54:41 -0000 2.6
+++ src/prefuse/action/assignment/DataSizeAction.java 16 Mar 2011 20:14:39 -0000
@@ -321,7 +321,10 @@
                 m_dist= DataLib.max(ts, m_dataField).getDouble(m_dataField);
             }
             if ( m_inferRange ) {
-                m_sizeRange = m_dist/m_dist - m_minSize;
+            if (m_dist==0) //Avoid division by 0
+            m_sizeRange = m_dist - m_minSize;
+            else
+            m_sizeRange = m_dist/m_dist - m_minSize;
             }
         }
     }