📄 点群分析f3.frm
字号:
VERSION 5.00
Begin VB.Form frmContinue
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "点群分析"
ClientHeight = 9600
ClientLeft = 60
ClientTop = 345
ClientWidth = 12225
LinkTopic = "Form1"
ScaleHeight = 9600
ScaleWidth = 12225
StartUpPosition = 3 '窗口缺省
End
Attribute VB_Name = "frmContinue"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'点群分析
Option Explicit
Dim Id As Integer
Private Sub Form_Load()
Me.Left = 100: Me.Top = 0: Me.Height = 11000
Id = -1
Me.Caption = "单击窗体可以绘图!"
End Sub
'绘制谱线图
Private Sub Form_Click()
Dim YMS As Single, YMD As Single, KA As Integer, intXS As Integer
'XS为谱系图中分类统计量的刻度;KW为谱系图中垂直连线延续行数
'W为扫描时的工作单元
Dim XS(102) As Single, KW(102) As Integer, W(102) As String
Dim A As String, B As String, C As String
Dim LL As Integer
If Id = 1 Then
Unload Me
End
End If
Me.Print " ": Me.Font = "隶书": Me.FontSize = 24
If Key < 4 Then Me.Print Spc(11); "Q点群分析谱系图";
If Key = 4 Then Me.Print Spc(11); "R点群分析谱系图";
If Key = 1 Then Me.Print "(距离系数)"
If Key = 2 Then Me.Print "(夹角余弦)"
If Key > 2 Then Me.Print "(相关系数)"
Me.Font = "": Me.FontSize = 10
Me.CurrentX = 500: Me.CurrentY = 1100
If Key < 4 Then Me.Print "样本号" Else Me.Print "变量号"
YMS = YM1 - YM2 '分类统计量的变化范围
YMD = YMS / 100
For I = 1 To 102
XS(I) = YM1 - YMD * (I - 1) '统计量刻度值
KW(I) = 0
Next I
Me.CurrentX = 900: Me.CurrentY = 700
For I = 1 To 10
Me.Print "+";
Me.Print "---------";
Next I
Me.Print "+"
Me.CurrentY = 850
For I = 1 To 101 Step 10 '写刻度
Me.CurrentX = 500 + I * 108
intXS = XS(I) * 1000 + 0.5
XS(I) = intXS / 1000
Me.Print XS(I);
Next I
KA = 0
For I = 1 To M3 'M3为扫描行数
Me.CurrentX = 100: Me.CurrentY = 1100 + I * 200
For J = 1 To 102
W(J) = " "
If KW(J) > 0 Then W(J) = "|"
KW(J) = KW(J) - 1
Next J
For J = 1 To M2 'M2为谱系图水平连线数
If KX1(J) <> I Then GoTo 85
If Key = 1 Then GoTo 82
For K = 1 To 101
If XS(K) <= X1(J) And XS(K) >= X2(J) And W(K) <> "|" Then _
W(K) = "-"
If XS(K + 1) <= X2(J) Then GoTo 84
Next K
GoTo 85
82: For K = 1 To 101
If XS(K) >= X1(J) And XS(K) <= X2(J) And W(K) <> "|" Then _
W(K) = "-"
If XS(K + 1) >= X2(J) Then GoTo 84
Next K
84: If KX2(J) = 0 Then GoTo 85
KW(K) = KX2(J)
85: Next J
If I Mod 2 = 1 Then GoTo 86
Me.Print Spc(8);
For LL = 1 To 101
Me.Print W(LL); '绘谱线
Next LL
GoTo 87
86: KA = KA + 1
W(1) = "-"
If KM(KA) < 10 Then
Me.Print Spc(5); KM(KA);
Else
Me.Print Spc(4); KM(KA);
End If
For LL = 1 To 101 '绘谱线
Me.Print W(LL);
Next LL
87: Next I
Id = 1
Me.Caption = "单击窗体可以结束程序运行!"
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -