Subscribe Bookmark RSS Feed

Bubble Chart function - change absolut numbers into % of total

And

New Contributor

Joined:

Dec 7, 2016

Hi fellows,

 

This little problem haunts me.

For my bubble chart I have two numeric variables for the X and Y axes, which is in absolut numbers.

I want the x and y axes of the chart to display as % of total - how to do this?.

 

My chart is meant to display the changing relative size of different organizational units over a period of 20 years.

I hope it is possible through the bubble chart graph-function, rather than computing the data into proportions.

 

5 REPLIES
ian_jmp

Staff

Joined:

Jun 23, 2011

Not sure if this is what you want (but it might be). Run the script to make a table, then run the script in that table.

 

New Table( "BP of Percentages",
	Add Rows( 4 ),
	New Script(
		"Bubble Plot of y% by x%",
		Bubble Plot(
			X( Transform Column( "x%", Formula( (:x / Col Sum( :x )) * 100 ) ) ),
			Y( Transform Column( "y%", Formula( (:y / Col Sum( :y )) * 100 ) ) ),
			Title Position( 0, 0 ),
			SendToReport(
				Dispatch(
					{},
					"1",
					ScaleBox,
					{Min( 0 ), Max( 100 ), Inc( 5 ), Minor Ticks( 1 )}
				),
				Dispatch(
					{},
					"2",
					ScaleBox,
					{Min( 0 ), Max( 100 ), Inc( 5 ), Minor Ticks( 1 )}
				),
				Dispatch( {}, "Bubble Plot", FrameBox, {Frame Size( 787, 515 )} )
			)
		)
	),
	New Column( "x",
		Numeric,
		"Continuous",
		Format( "Fixed Dec", 12, 2 ),
		Formula( Random Uniform( 0, 50 ) )
	),
	New Column( "y",
		Numeric,
		"Continuous",
		Format( "Fixed Dec", 12, 2 ),
		Formula( Random Uniform( 0, 50 ) )
	)
)
And

New Contributor

Joined:

Dec 7, 2016

Thank you for your reply and your time.
It is not quite what i want.

I basicully want to know, if the "Bubble chart" function, is able to do the % of total.

 

And

New Contributor

Joined:

Dec 7, 2016

Thank you for your reply and your time.
It is not quite what i want.

I basicully want to know, if the "Bubble chart" function, is able to do the % of total.

danschikore

Staff

Joined:

Sep 21, 2012

If I understand correctly, I think Ian's example is very close to what you want.  In order to get percentages by year (or whatever the time unit is) you can use a By variable in the Col Sum() formula.  Here is an example looking at relative changes in SAT scores between US regions:

 

Open("$SAMPLE_DATA/SATByYear.jmp");
Bubble Plot(
	X(
		Transform Column(
			"SAT Math Percentage",
			Formula( :SAT Math / Col Sum( :SAT Math, :Year ) )
		)
	),
	Y( :Name( "Expenditure (1997)" ) ),
	Time( :Year ),
	ID( :Region ),
	Time Index( 3.9 ),
	Title Position( 0.01978, 7.4 )
);

To create the Transform Column interactively, right-click on the column that you want to change during the launch, and choose "Formula":

 

BubbleLaunch.png

 

In the formula dialog you can define the formula to convert from to relative values by year:

 

BubbleFormula.png

 

This approach works in any JMP platform and for any transformation that can be defined using JSL expressions.

 

And

New Contributor

Joined:

Dec 7, 2016

Thanks a million, it was basicly that "by" in the 'sum col' custom transform I did need.