主题:各位高手,如何绘制坐标
jiajun
[专家分:0] 发布于 2008-02-23 18:01:00
各位高手,如和在picture控件中绘制带刻度的坐标轴?
我编了半天都不行
小弟在这里谢了!!
回复列表 (共2个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2008-02-23 19:53:00
就贴子里很多
我再举个例子。
Private Sub 作坐标系()
竖向线段 = (最大值 - 基值) / 50
横向线段 = 数据数 / 100
Picture1.Scale (-横向线段, 最大值 + 竖向线段)-(数据数 + 2 * 横向线段, 基值 - 8 * 竖向线段)
'画竖轴
Picture1.Line (0, 最大值 + 竖向线段)-(0, 基值 - 8 * 竖向线段), vbRed
Picture1.Line (-横向线段 / 2, 最大值 + 竖向线段 / 2)-(0, 最大值 + 竖向线段), vbRed
Picture1.Line -(横向线段 / 2, 最大值 + 竖向线段 / 2), vbRed
For i = 基值 - Fix(8 * 竖向线段) To 最大值
Picture1.Line (0, i)-(数据数 / 100, i), vbRed
Picture1.CurrentX = 0
Picture1.CurrentY = i
Picture1.Print i
Next i
'画横轴
If 基值 * 最大值 < 0 Then 横轴偏移 = -基值
Picture1.Line (-横向线段, 基值 + 横轴偏移)-(数据数 + 2 * 横向线段, 基值 + 横轴偏移), vbRed
Picture1.Line -(数据数 + 横向线段, 基值 + 横轴偏移 + 竖向线段 / 2), vbRed
Picture1.Line (数据数 + 横向线段, 基值 + 横轴偏移 - 竖向线段 / 2)-(数据数 + 2 * 横向线段, 基值 + 横轴偏移), vbRed
For i = 10 To 数据数 Step 10
Picture1.Line (i, 竖向线段 + 基值 + 横轴偏移)-(i, 基值 + 横轴偏移), vbRed
Picture1.CurrentX = i - 数据数 / 100
Picture1.CurrentY = 基值 + 横轴偏移
Picture1.Print i
Next i
End Sub
板凳
jiajun [专家分:0] 发布于 2008-02-23 20:31:00
thanks
我来回复