How to Create a Line Jump Plot

Updated: Aug 25

Do you have a project with due dates? Did you know there is an interesting way to plot the days between these due dates? Jump Plots are one way to visualize the duration between dates.



In order to create this chart you need a unique key or identifier, such as Project 1 below, a sequence column for the events and a duration count between the events.


I used the Software Development Life Cycle as an example below;

I am using the calculations provided in this youtube video by Erica Hughes. I modified the steps in this video for this tip.


In order to create this chart you will need to union this data set to itself on the datasource tab.



There are quite a number of calculated fields you will need to create for this chart. You need to make sure these are exact or you will have to do some hard trouble-shooting later.


Sequence_to

[Sequence]+1


Path Order

IIF([Table Name]='Sheet1',1,2)


Node Name (Change this to a dimension)

IIF([Path Order]=1,[Sequence],[Sequence_to])


Path

STR([Project Number])+'.'+STR([Sequence])+'.'+STR([Sequence_to])


BezierValue

IIF([Path Order]=1,0,100)


Transaction Padded

WINDOW_MIN(MIN([Duration Days]),FIRST(),FIRST())


Index

Index()


t

([Index]-1)/100


CurveX

[Node Name]


CurveY

0


XPMax

WINDOW_MAX(AVG([CurveX]))


XPMin

WINDOW_MIN(AVG([CurveX]))


YPMax

WINDOW_MAX(AVG([CurveY]))


YPMin

WINDOW_MIN(AVG([CurveY]))


Int Node Num

WINDOW_MIN(MIN([Node Name]),FIRST(),FIRST())


Sec Node Num

WINDOW_MIN(MIN([Node Name]),LAST(),LAST())


DynamicP1X

WINDOW_MIN(FLOAT([Int Node Num])

+

((FLOAT([Sec Node Num])-FLOAT([Int Node Num]))/2))


DynamicP1Y

WINDOW_MIN([Transaction Padded])*2


BezierX

((1-[t])^2*[XPMin])+(2*(1-[t])*[t]*[DynamicP1X])+(([t]^2)*[XPMax])


BezierY

((1-[t])^2*[YPMax])+(2*(1-[t])*[t]*[DynamicP1Y])+(([t]^2)*[YPMin])


BezierValue (bin)

You will need to create a Bin field off of the BezierValue calculated field. You can do this by right-clicking on it and select Create > Bins. Set the size of this Bin to 1.



Steps to Create the Chart

(You must do these steps in this order)


First edit the Index calculation you created. (You right click on it and can select edit.)

Click on the Default Table Calculation in the lower right hand corner.

Select Advanced from the Compute using drop-down.

Using the arrows, move the Path over to Addressing field and then move the BezierValue(bin) under it. Then click OK.


Back on the Table Calculation [Index] pop-up menu, select Path from the Restarting every drop-down. Then click OK. Then click OK again on the Edit Table Calculation Index pop-up menu to close it.



Filter by one Project Number to test the views. Drag this field to the Filters card.

Next drag Path onto the Detail card.

Drag BezierValue (bin) to the Rows shelf. (You may have to right-click to select Show Missing Values if you only have two numbers that appear.)

Place BezierX on the Columns shelf.

Next, place BezierY on the Rows shelf next to BezierValue (bin).

Right-click to edit all of the Nested Table Calculations for the BezierX pill. These are located in the drop-down under Nested Calculations on the Table Calculation pop-up menu.

Select Specific Dimensions and then move the Path field above the BezierValue(Bin) in the pane under Specific Dimensions.

Then select Restarting every Path.

Repeat these steps for all of the Nested Calculations in this pop-up menu. Close it when you are finished.



Repeat these steps for all of the Nested Calculations for the BezierY value on the Rows shelf.

Change the Marks card type from Shape to Line.

Then move the BezierValue(bin) from the Rows shelf onto the Path Marks card.



At this point, you should see some line jumps in your graph;

In order to get the circles at the bottom of the chart, you will need to duplicate the BezierY value by holding the Control and Shift key with the pill selected. Then place this duplicate on the Rows shelf.

Make your chart a Dual axis and then Synchronize the axis with this duplicated value.

Remove the Path, Bezier Value(Bin) and Measure Names pills from this second BezierY Marks card.

Put Node Name on the Detail card. (Make sure it is a Dimension and it is set to Discrete.)

Change the Mark type to Circle.

Then add another Node Name to the Text Marks card.



You can adjust the size of these circles and move the text alignment so that the Node Name text is in the center of these circles.

Remove the Project Number filter and add Project Number to the Color Marks card on the first BezierY Marks card.

I pick Blue-Teal for the colors so its not extreme as the default.


I also remove gridlines, add a border to the circles, change the opacity of the circles and hide all the headers.


I also update the Tooltip to appear as below;

I update the configuration of the BezierY Marks card for the tooltip above.


If you want to download this workbook from my Tableau Public site, the link is here.

169 views0 comments