⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 biplot_98s.dlg

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 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 + -