A3-KetrinaYim
From CS294-10 Visualization Fa08
Contents |
Stage 1: The Domain
I chose to work with the chemical elements, particularly their isotopes. I selected this dataset because the resulting visualization would be useful for the scientific community or those who have scientific interests. The data domain of the set of isotopes includes:
- Proton Count (also known as the Atomic Number)
- Neutron Count
- Element Name
- Element Symbol
- Isotope Number
- Element Type
- Half Life
- Decay Mode
Stage 2: The Visualization Plan
From what I've gathered while researching isotopes, the set of all known isotopes of the elements has been represented either as a table filling nearly 100 pages (with cryptically labeled columns that are only understood after a careful study of scientific abbreviations) or as the enormous Table of Nuclides, which is essentially a scatter plot composed of colored squares. I decided my visualization would be an interactive Table of Nuclides, similar to NuDat 2, implemented in Flare. A zoomable table/scatter plot (the Table of Nuclides is slightly difficult to describe) is reasonable for visualizing isotope data because a logical mapping would have proton count/atomic number on one axis and neutron count on the other axis. For those who know the atomic numbers, looking up a particular set of isotopes in the plot can be done quickly.
Interactive Features
Pan and Zoom
The pan and zoom feature allows users to focus on a particular section of the table, which is important because users primarily need to look up information on isotopes, rather than observe trends or make comparisons. Pan and zoom also allows the visualization to fit in a smaller space; without it, the only options would be to force users to scroll around or to break up the table into segments.
Color Code by Type, Half Life, or Decay Mode
Multiple color codes reveal information not available from the XY position of a cell and highlight groupings of interest. Depending on which color code is chosen, the user can easily locate isotopes of a particular elemental group, determine the most or least stable isotopes of a particular element, or identify groups of isotopes that are alpha emitters.
Details on Demand
Finally, details on demand offer users the opportunity to view specific details of a particular isotope simply by hovering over its data point in the table. This makes the all the dimensions of the isotope data available without having to include a large number of visual encodings that the user would have to keep track of.
Stage 3: The Data and Visualization Construction
It turns out that the Table of Nuclides is so prevalent that a table of raw data is difficult to find. Eventually I discovered the WWW Table of Radioactive Isotopes, which presented data on each element as a tab-delimited table. The result of combining the data for every element and filling in missing data with what I could find from Wikipedia and NuDat 2 was the tab-delimited text file Media:isotopes.txt. This was also the point at which I realized how important visualization was for this particular data set.
During the development of the visualization, I realized there would be difficulty encoding half-life, considering how there were different units involved (seconds, days, years, and even electron volts for those whose half-lives have yet to be detected). Thus I added an additional column (Half_Life_Group) to categorize them in a way that could be color-coded.
In addition to data complications, I encountered a few obstacles in using Flare to develop the table of nuclides. First was a bug in the ColorEncoder class that ignored the ColorPalette parameter in the constructor. After some confusion and consulting the Sourceforge help forum, I ended up setting the ColorPalette after the encoders were instantiated. Having custom palettes allowed me to overcome another problem, the Legend class. After several hours of trying to get the Legend to update dynamically by setting the Legend.scale and Legend.colorPalette and using update(), I settled for defining the legends statically since I already knew the colors and labels to be used. This also allowed me to arrange the half-life legend by duration instead of alphabetically.
Stage 4: The Product
After much table-wrangling in Excel and typing in the Flex Builder, I finished the Interactive Table of Nuclides, a chart of all known isotopes along with their basic statistics. It features pan and zoom capabilities and color encodings according to Element Type, Decay Mode, and Half Life. It's a handy application for aspiring chemists, students, and nuclear science aficionados.
The source code and compiled application can be downloaded here: Media:Nuclides.zip
For the most part, the visualization is faithful to the storyboards. The main difference is that the axes do not stay in place when pan and zoom are used; this was a consequence of using Flare's built-in PanZoomControl, which scaled and translated both the scatter plot and the axes. I also included a gray box to isolate the encoding controls and legend from the data and changed the appearance of the tooltips.
Instructions for Building:
There are a few requirements for running the Interactive Table of Nuclides. First, the computer must be connected to the Internet, because the data is pulled from an online file (As far as I know, the only other way to feed the data into the application would be to statically declare an array of all the data!). Second, because the code is implemented in Flex with Flare (version Alpha-20080808), Flex and the Flare libraries are required for compilation.
Instructions for Usage:
The Interactive Table of Nuclides is fairly simple to use, and all that is needed is Flash Player to run it. As it requires some time to load all the data, the plot will not show up immediately upon running the application. Those with patience will be rewarded with the visualization.
Initially, the data is colored by Element Type and the full plot is visible. Clicking the blue text buttons under "Change Color Encoding" changes the color encoding according to the button clicked; and the legend changes accordingly. To pan around, click and drag the mouse. To zoom, hold the Control key and drag the mouse, up to zoom out and down to zoom in. Hovering over a square of data reveals a tooltip containing information about that isotope's symbol, name, proton count, neutron count, type, half-life, and decay mode.
The Application Can Be Accessed Here:
Final Stage: Post-Production Analysis
In the end, it took about 4 hours to prepare the data (which could have been much less if I were more skilled with Excel) and about 10 hours to create the visualization (which included the time I spent looking in the API documentation, being stumped by the issues I mentioned above, and refining the color palettes). In my opinion, the time it took to create the table in Flare was quite short, considering I had no prior experience with Flare or Flex. It was surprisingly easy to set up the data as a scatter plot, and it took less than an hour; most of the time was spent implementing, debugging, and refining the interface and interactive elements. Bugs aside, I am quite pleased with Flare and how easy it is to use in generating interactive visualizations.

