嗨,伙计们,
这个小问题困扰着我。
对于我的气泡图,我有两个数字变量用于X和Y轴,它们是绝对数字。
我希望图表的x和y轴显示为总数的百分比 - 如何做到这一点?
我的图表旨在显示不同组织单位在20年内不断变化的相对规模。
我希望通过气泡图图表函数可以实现,而不是将数据计算成比例。
万分感谢,基本上我在'sum col'自定义变换中需要“by”。
如果我理解正确,我认为伊恩的例子非常接近你想要的。 为了获得按年份(或任何时间单位)的百分比,您可以在Col Sum()公式中使用By变量。 以下是一个查看美国地区之间SAT分数相对变化的示例:
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 )
);
要以交互方式创建变换列,请在启动期间右键单击要更改的列,然后选择“公式”:

在公式对话框中,您可以定义要按年转换为相对值的公式:

此方法适用于任何JMP平台以及可使用JSL表达式定义的任何转换。
谢谢你的回复和时间。
这不是我想要的。
我基本上想知道,如果“气泡图”功能,能够做到总量的%。
谢谢你的回复和时间。
这不是我想要的。
我基本上想知道,如果“气泡图”功能,能够做到总量的%。
不确定这是否是您想要的(但可能是这样)。运行脚本以创建表,然后在该表中运行脚本。
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 ) )
)
)