Inspired by the work of Noah Salvaterra and his beautiful Tableau visualizations of fractals and L-Systems, I made this visual of the Lorenz Strange Attractor. Edward Lorenz, a meteorologist and mathematician, developed a set of equations to model atmospheric convection. When plotted in 3-dimensional space, the equations generate a beautiful pattern. If you want to know more, here is a nice introduction to Chaos Theory.

How did I make the plot in Tableau? I used Processing to generate the points (see code below) but this could could as easily be done in Excel.

[code language=”java”]

PrintWriter textFile;

//set parameters

float h=0.008;

float a=10;

float b=28;

float c=8/3;

//set initial conditions

float x=0;

float y=10;

float z=10;

void setup() {

//initialize output text file

textFile = createWriter(“txtfiles/points.txt”);

for(int i=0;i<10000;i++) {

x+=h*a*(y-x);

y+=h*(x*(b-z)-y);

z+=h*(x*y-c*z);

//print output to console (optional)

println(x + “,” + y + “,” + z);

//save output to text file

textFile.println(x + “,” + y + “,” + z);

textFile.flush();

exit();

}

}

[/code]

I then imported the text file into Tableau, used X,Y coordinates to make a scatter plot, and applied Z coordinate to Size to simulate 3D.

Hi George, I looked at your awezome viz, one Q – how do you get the right circles to come out “on top”. There is a line going into the top circle, how does that line appear to be on top of the underlying circles in the background. How would tableau know based on just x,y,size data which one to recede into the background. Thanks and congrats on the viz! It really stopped me in my tracks.

Thanks for your comment, pgupta. Although the viz is obviously 2-D, there is a Z component in the data file. Dropping it on the Detail shelf forces Tableau to draw points “closer to you” (larger Z) first.