The fractals are always fascinating. I am totally mesmerized by it. Inspired by Zen Master Noah Salvaterra's work, here I created the Julia set using Tableau alone for both generating all the data marks and visualizing them, without using external tools like Python or R.

Julia set is the original fractals that inspired Mandelbrot to found his own set. Mandelbrot set is a subset of Julia set. Leo Newman actually created a few Julia set vizzies by creating the data set first, then visualized it using Tableau.

The problem with extra tools is that one needs to know extra languages and to integrate extra tools. Tableau is designed for non professional programmers. It may not be realistic to expect a Tableau user to know some serious programming languages. However, it all depends on personal preferences and need.

Usually we can use extra tools to generate data set. Then visualize it in Tableau. This may decrease flexibility. Actually, we can do everything in Tableau natively: for both data set creation and visualization.  In this way, we may need to push Tableau's capability to the extreme and so be it. It's like running LINPACK to test a new computer and to access its performance.

Here I use Tableau alone to create data set and visualization. Using similar optimization techniques as before. But it is still quite slow to my taste.

Julia set provides us with a great variety of fractals which are wildly beautiful. You are welcome to download it, play with it and leave questions in the comment area. More initial parameters can be found in Wikipedia's Julia set entry for creating various Julia set images.
Conclusion and issues
While Tableau provides me with a wonderful graphical tool and I got great personal satisfaction in exploring the beauty of mathematics, I feel that fractals and math function rendering can be used to push the boundary of computation engine in Tableau: data structure, memory allocation, compiler, rendering. Maybe there is something to rethink of, because there seems much room for improvement in the simple computing of fractals.

The higher the number of points (in horizontal or vertical dimensions), and the higher the number of iterations, the better resolution of the image. But it will be really slow if the total number of pixels is greater than a few millions.

Most computation above uses a long string to store a state vector (or vector state?). It includes the x and y coordinates of each data mark. The manipulation of this long string seems to cost a lot of computation time.

Does introduction of local variables (registers) inside the formula editor help? Just a thought.

Using Tableau alone, one can already create a variety of fractal images. It maybe a little slow, but it's simple and a lot of fun. You can download the workbook here and find the initial c parameters in the above wiki link or over the web.

Note that try to start with just a few iterations and a small number of points. Otherwise it may take a long time. Also, disable the auto-update in worksheet or dashboard menu while you set up the parameters. Have fun!
1

View comments

  1. OMG EIGHT rows of data !!!! I've often thought of doing this, just never got around to trying.

    ReplyDelete

(Refresh the page if you want to view the gif image multiple times. Or go to Tableau Public and click the button at the top-right corner.)

Jake and I collaborated on a dashboard. He told me that he learnt a way to create an in-place help page in Tableau. He first saw it at a conference somewhere and couldn't recall who the speaker was. So I am blogging here about it but the credit goes to somebody else. If anyone knows who the original creator is, leave a comment below.

The key idea is to float a semi transparent worksheet on top of the dashboard, where a help text box is strategically placed on top of each chart. This way, we can explain how to view each chart and what data points are important, etc. This worksheet is collapsible by a show/hide button. 

Below I would like to show how this worksheet can be constructed.

1. Sheet with a single data mark.

  • Double click the empty space in Marks panel and add two single quotes. Make the null pill a text label. This creates a single null mark.
  • Set the view as "Entire View"

2. Create an show/hide button

  • Go to the target dashboard
  • Drag a floating vertical container to the dashboard, making it cover all the area of interest.
  • Drag the Single Null Mark sheet and drop it into the above container. Hide the sheet title.
  • Create an open/close button for the container and place the button at the top-right corner.

3. Add annotations

  • Format the sheet background opacity as 70% in the layout manager             
  • Select area annotations and place them anywhere of interest. 
  • Write help text and format it to highlight important messages.  
  • The text can serve as functional guide and/or insight guide.

Here is an example. Feel free to download the workbook and explore. Click the "i" button at the top-right corner to view the in-place help. 

0

Add a comment

Blog Archive
Loading
Dynamic Views theme. Powered by Blogger. Report Abuse.