📄 biplot_98s.dlg
字号:
/*
biplot_98s.dlg
*! VERSION 1.0.0 23mar2005
*/
VERSION 9.0
INCLUDE graph_header
INCLUDE header
HELP hlp1, view("help biplot")
RESET res1
SCRIPT POSTINIT
BEGIN
cplot.tx_mlabel.disable
cplot.vn_mlabel.disable
END
DIALOG main, tabtitle("Main") label("biplot - Biplots")
BEGIN
TEXT tx_vars _lft _top _cwd1 ., ///
label("Variables:")
VARLIST vl_vars @ _ss @ ., ///
label("Variables")
GROUPBOX gb_options _lft +35 _iwd _ht15, ///
label("Options")
RADIO rb_center _ilft _ss _cwd2 ., ///
label("Center variables") first
DEFINE y @y
RADIO rb_std @ _ss @ ., ///
option(std) ///
label("Standardize variables") last
EDIT ed_alpha @ _ls _en7wd ., ///
default(0.5) option(alpha) numonly
TEXT tx_alpha _en7sep @ 200 ., ///
label("Alpha (row weight)")
CHECKBOX ck_mahalanobis _ilft _ls _cwd1 ., ///
option(mahalanobis) ///
onclickon(script ck_mahalanobis_on) ///
onclickoff(script ck_mahalanobis_off) ///
label("Approximate Mahalanobis distance (implies alpha(0))")
CHECKBOX ck_stretch @ _ms @ ., ///
onclickon(script main_stretch_on) ///
onclickoff(script main_stretch_off) ///
label("Stretch column (variable) arrows by some factor")
EDIT ed_stretch _indent2 _ss _en7wd ., ///
default(1) option(stretch) numonly
TEXT tx_stretch _en7sep @ 150 ., ///
label("Factor")
CHECKBOX ck_xnegate _lft2 y _cwd2 ., ///
label("Negate data relative to the x-axis") ///
option(xnegate)
CHECKBOX ck_ynegate @ _ms @ ., ///
label("Negate data relative to the y-axis") ///
option(ynegate)
CHECKBOX ck_autoaspect @ _ms @ ., ///
option(autoaspect) ///
label("Automatically adjust the aspect ratio based on the data")
CHECKBOX ck_separate @ _ms @ ., ///
option(separate) ///
label("Produce separate plots for rows and columns")
CHECKBOX ck_nograph @ _ms @ ., ///
label("Suppress graph") ///
option(nograph)
CHECKBOX ck_table @ _ms @ ., ///
label("Display table showing biplot coordinates") ///
option(table)
END
SCRIPT ck_mahalanobis_on
BEGIN
main.ed_alpha.disable
main.tx_alpha.disable
END
SCRIPT ck_mahalanobis_off
BEGIN
main.ed_alpha.enable
main.tx_alpha.enable
END
SCRIPT main_stretch_on
BEGIN
main.ed_stretch.enable
main.tx_stretch.enable
END
SCRIPT main_stretch_off
BEGIN
main.ed_stretch.disable
main.tx_stretch.disable
END
INCLUDE ifin
DIALOG rplot, tabtitle("Rows")
BEGIN
CHECKBOX ck_noLabel _lft _top _gwd1 ., ///
label("Do not show default row (observation) labels") ///
option(nolabel)
CHECKBOX ck_name @ _ms @ ., ///
onclickon(script rplot_name_on) ///
onclickoff(script rplot_name_off) ///
label("Override the default name given to rows (observations)")
EDIT ed_name @ _ss _vnwd ., ///
label("Name given to rows (observations)") ///
option(name)
TEXT tx_name _vnsep @ 100 ., ///
label("Name")
/**** BEGIN -- Scatter options ****/
GROUPBOX gb_marker _lft +35 _gwd1 _ht14, ///
label("Markers (Scatter options)")
TEXT tx_msymbol _igft _ss _txwd ., ///
label("Symbol:") right
COMBOBOX cb_msymbol _txsep @ _txr4gi ., ///
option(msymbol) ///
dropdownlist ///
contents(symbols)
TEXT tx_mcolor _igft _ls _txwd ., ///
label("Color:") right
COMBOBOX cb_mcolor _txsep @ _tcr4gi ., ///
option(mcolor) ///
dropdownlist ///
contents(colors) ///
onselchangelist(rplot_color_mcolor)
COLOR cl_mcolor _tcr4gisep @ _btwd ., ///
option(mcolor)
TEXT tx_msize _lft4_2gi @ _txwd ., ///
label("Size:") right
COMBOBOX cb_msize _txsep @ _txr4gi ., ///
option(msize) ///
dropdownlist ///
contents(symbolsizes)
GROUPBOX gb_mlabel _igft _ls _gwd2 85, ///
label("Labels")
TEXT tx_mlabel _iigft _ss _txswd ., ///
label("Variable:") right
VARNAME vn_mlabel _txssep @ _txr4gi ., ///
option(mlabel)
TEXT tx_mlcolor _lft4_2gi @ _txswd ., ///
label("Color:") right
COMBOBOX cb_mlcolor _txssep @ _tcr4gi ., ///
option(mlabcolor) ///
dropdownlist ///
contents(colors) ///
onselchangelist(rplot_color_mlcolor)
COLOR cl_mlcolor _tcr4gisep @ _btwd ., ///
option(mlabcolor)
TEXT tx_mlsize _iigft _ls _txswd ., ///
label("Size:") right
COMBOBOX cb_mlsize _txssep @ _txr4gi ., ///
option(mlabsize) ///
dropdownlist ///
contents(textsizes)
TEXT tx_mlposition _lft4_2gi @ _txswd ., ///
label("Position:") right
COMBOBOX cb_mlposition _txssep @ _txr4gi ., ///
option(mlabposition) ///
dropdownlist ///
contents(clockpos)
/**** END -- Scatter options ****/
END
SCRIPT rplot_name_off
BEGIN
rplot.ed_name.disable
rplot.tx_name.disable
END
SCRIPT rplot_name_on
BEGIN
rplot.ed_name.enable
rplot.tx_name.enable
END
LIST rplot_color_mcolor
BEGIN
rplot.cl_mcolor.hide
rplot.cl_mcolor.show
rplot.cl_mcolor.hide
END
LIST rplot_color_mlcolor
BEGIN
rplot.cl_mlcolor.hide
rplot.cl_mlcolor.show
rplot.cl_mlcolor.hide
END
DIALOG cplot, tabtitle("Columns")
BEGIN
CHECKBOX ck_noLabel _lft _top _gwd1 ., ///
label("Do not show default column (variable) labels") ///
option(nolabel)
CHECKBOX ck_name @ _ms @ ., ///
onclickon(script cplot_name_on) ///
onclickoff(script cplot_name_off) ///
label("Override the default name given to columns (variables)")
EDIT ed_name @ _ss _vnwd ., ///
label("Name given to columns (variables)") ///
option(name)
TEXT tx_name _vnsep @ 100 ., ///
label("Name")
/**** BEGIN -- Arrow options ****/
GROUPBOX gb_line _lft +35 _gwd1 _ht6, ///
label("Line options")
TEXT tx_ccol _lft4_1gi _ms _txwd ., ///
label("Color:") right
DEFINE y @y
COMBOBOX cb_ccol _txsep @ _tcr2b4g ., ///
label("Line color") ///
option(lcolor) ///
dropdownlist ///
contents(colors) ///
onselchangelist(cplot_color_ccol)
COLOR cl_ccol _tcr2b4gsep @ _colorwd ., ///
label("Line color") ///
option(lcolor) ///
default(255 0 0)
TEXT tx_clpat _lft4_1gi _ls _txwd ., ///
label("Pattern:") right
COMBOBOX cb_clpat _txsep @ _txr2b4g ., ///
label("Pattern") ///
dropdownlist ///
contents(linepatterns) ///
option(lpattern)
TEXT tx_clwid _igft4_2 y _txwd ., ///
label("Width:") right
COMBOBOX cb_clwid _txsep @ _txr2b4g ., ///
label("Connect width") ///
dropdownlist ///
contents(linewidths) option(lwidth)
/**** END -- Arrow options ****/
/**** BEGIN -- Arrowhead options ****/
GROUPBOX gb_marker _gft2 _top _gwd1 _ht14, ///
label("Arrowheads")
TEXT tx_mcolor _igft2 _ss _txwd ., ///
label("Color:") right
COMBOBOX cb_mcolor _txsep @ _tcr4gi ., ///
option(mcolor) ///
dropdownlist ///
contents(colors) ///
onselchangelist(cplot_color_mcolor)
COLOR cl_mcolor _tcr4gisep @ _btwd ., ///
option(mcolor)
TEXT tx_msize _lft4_4gi @ _txwd ., ///
label("Size:") right
COMBOBOX cb_msize _txsep @ _txr4gi ., ///
option(msize) ///
dropdownlist ///
contents(symbolsizes)
TEXT tx_mangle _igft2 _ls _txwd ., ///
label("Angle:") right
COMBOBOX cb_mangle _txsep @ _tcr4gi ., ///
option(mangle) ///
dropdownlist ///
contents(cplot_angle) values(cplot_angle_values)
TEXT tx_barbsize _lft4_4gi @ _txwd ., ///
label("Barb size:") right
COMBOBOX cb_barbsize _txsep @ _txr4gi ., ///
option(barbsize) ///
dropdownlist ///
contents(symbolsizes)
GROUPBOX gb_mlabel _igft2 _ls _gwd2 85, ///
label("Labels")
TEXT tx_mlabel _iigft2 _ss _txswd ., ///
label("Variable:") right
VARNAME vn_mlabel _txssep @ _txr4gi ., ///
option(mlabel)
TEXT tx_mlcolor _lft4_4gi @ _txswd ., ///
label("Color:") right
COMBOBOX cb_mlcolor _txssep @ _tcr4gi ., ///
option(mlabcolor) ///
dropdownlist ///
contents(colors) ///
onselchangelist(cplot_color_mlcolor)
COLOR cl_mlcolor _tcr4gisep @ _btwd ., ///
option(mlabcolor)
TEXT tx_mlsize _iigft2 _ls _txswd ., ///
label("Size:") right
COMBOBOX cb_mlsize _txssep @ _txr4gi ., ///
option(mlabsize) ///
dropdownlist ///
contents(textsizes)
TEXT tx_mlposition _lft4_4gi @ _txswd ., ///
label("Position:") right
COMBOBOX cb_mlposition _txssep @ _txr4gi ., ///
option(mlabposition) ///
dropdownlist ///
contents(clockpos)
/**** END -- Arrowhead options ****/
END
LIST cplot_angle
BEGIN
Default
10 degrees
15 degrees
20 degrees
25 degrees
30 degrees
35 degrees
40 degrees
45 degrees
50 degrees
55 degrees
60 degrees
65 degrees
70 degrees
75 degrees
80 degrees
85 degrees
90 degrees
END
LIST cplot_angle_values
BEGIN
""
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
END
SCRIPT cplot_name_off
BEGIN
cplot.ed_name.disable
cplot.tx_name.disable
END
SCRIPT cplot_name_on
BEGIN
cplot.ed_name.enable
cplot.tx_name.enable
END
LIST cplot_color_ccol
BEGIN
cplot.cl_ccol.hide
cplot.cl_ccol.show
cplot.cl_ccol.hide
END
LIST cplot_color_mcolor
BEGIN
cplot.cl_mcolor.hide
cplot.cl_mcolor.show
cplot.cl_mcolor.hide
END
LIST cplot_color_mlcolor
BEGIN
cplot.cl_mlcolor.hide
cplot.cl_mlcolor.show
cplot.cl_mlcolor.hide
END
INCLUDE gr_twoway_98s
PROGRAM rplot_output
BEGIN
if (rplot.ck_noLabel | rplot.ck_name ///
| rplot.cb_msymbol | rplot.cb_mcolor ///
| !H(rplot.cl_mcolor) | rplot.cb_msize ///
| rplot.vn_mlabel | rplot.cb_mlsize ///
| rplot.cb_mlcolor | !H(rplot.cl_mlcolor) ///
| rplot.cb_mlposition ) ///
{
put " " "rowopts(
put /program rowopts_output
put ") "
}
END
PROGRAM rowopts_output
BEGIN
option rplot.ck_noLabel
if rplot.ck_name {
require rplot.ed_name
optionarg rplot.ed_name
}
optionarg /hidedefault rplot.cb_msymbol
if H(rplot.cl_mcolor) {
optionarg /hidedefault rplot.cb_mcolor
}
if !H(rplot.cl_mcolor) {
optionarg /quoted rplot.cl_mcolor
}
optionarg /hidedefault rplot.cb_msize
optionarg rplot.vn_mlabel
optionarg /hidedefault rplot.cb_mlsize
if H(rplot.cl_mlcolor) {
optionarg /hidedefault rplot.cb_mlcolor
}
if !H(rplot.cl_mlcolor) {
optionarg /quoted rplot.cl_mlcolor
}
optionarg /hidedefault rplot.cb_mlposition
END
PROGRAM colopts_output
BEGIN
option cplot.ck_noLabel
if cplot.ck_name {
require cplot.ed_name
optionarg cplot.ed_name
}
if H(cplot.cl_ccol) {
optionarg /hidedefault cplot.cb_ccol
}
if !H(cplot.cl_ccol) {
optionarg /quoted cplot.cl_ccol
}
optionarg /hidedefault cplot.cb_clpat
optionarg /hidedefault cplot.cb_clwid
if H(cplot.cl_mcolor) {
optionarg /hidedefault cplot.cb_mcolor
}
if !H(cplot.cl_mcolor) {
optionarg /quoted cplot.cl_mcolor
}
optionarg /hidedefault cplot.cb_msize
optionarg /hidedefault cplot.cb_mangle
optionarg /hidedefault cplot.cb_barbsize
optionarg /hidedefault cplot.cb_mlsize
if H(cplot.cl_mlcolor) {
optionarg /hidedefault cplot.cb_mlcolor
}
if !H(cplot.cl_mlcolor) {
optionarg /quoted cplot.cl_mlcolor
}
optionarg /hidedefault cplot.cb_mlposition
END
PROGRAM cplot_output
BEGIN
if (cplot.ck_noLabel | cplot.ck_name ///
| cplot.cb_ccol | !H(cplot.cl_ccol) ///
| cplot.cb_clpat | cplot.cb_clwid ///
| cplot.cb_mangle | cplot.cb_barbsize | cplot.cb_mcolor ///
| !H(cplot.cl_mcolor) | cplot.cb_msize ///
| cplot.cb_mlsize | cplot.cb_mlcolor ///
| !H(cplot.cl_mlcolor) | cplot.cb_mlposition ) ///
{
put " " "colopts(
put /program colopts_output
put ") "
}
END
PROGRAM command
BEGIN
put "biplot "
varlist main.vl_vars
put /program ifin_output
beginoptions
option main.rb_std
optionarg /hidedefault main.ed_alpha
option main.ck_mahalanobis
optionarg main.ed_stretch
option main.ck_xnegate
option main.ck_ynegate
option main.ck_autoaspect
option main.ck_separate
option main.ck_nograph
option main.ck_table
put " " /program rplot_output
put " " /program cplot_output
put " " /program gr_twoway_output
endoptions
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -