标题:请教如何对这个《多曲线》的程序进行定制修改?
只看楼主
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
结帖率:69.81%
已结贴  问题点数:20 回复次数:3 
请教如何对这个《多曲线》的程序进行定制修改?
网上看到一个多曲线的程序,在对这个程序进行解析学习的时候,感觉有几个问题不知道怎样修改,想请路过的高手和大神能够给予不吝解答,在这里先谢谢了!

源程序如下:
多曲线.rar (4.49 KB)


问题1:当我把Chart1.Cols = 10 这条语句改成数值的总数量17时(Chart1.Cols = 17),运行程序后,图上最后一个点上没有数值显示,不知道在哪里怎么修改;

问题2:当我把MyCaption(i) = i 改成  MyCaption(i) = i & "  " & Time把Chart1.Cols = 10 改成 把Chart1.Cols = 5后,X轴坐标标签变成序号+时间,就一行字,字符串有些长了,有可能把这个字符串在图上变成两行显示吗?上行是序号,下行是时间。

问题3:在程序不做任何修改时运行程序,图表上显示了10个数据,我想在图表下方增加一个滑动条,在数据全部显示完成后,我可以拖动滑动条向后查看后面生成的图表和数据,不知道怎么增加滑动条,并且在程序里怎样增加语句;

问题4:假如 Chart1.Cols = 10 时,运行程序显示出图表后,图表上显示了10个数据,是1到10号的数据,我想程序运行完毕时,图上显示的是8到17号的数据,也就是说显示最后10个数据,这个问题与上一个问题,有一定联系,可以综合考虑。

以上就是我的几个问题,不知道怎样修改,请版主、高手和大神能够给予不吝解答,谢谢了!
搜索更多相关主题的帖子: 数据 显示 修改 曲线 图表 
2020-09-04 03:17
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
问题1:出在这里。

    '绘制图像
    For ArrayIndex = LBound(LinesArray) To UBound(LinesArray)
        LineColor = ColorArray(ArrayIndex)
        LineDimensions = Split(LinesArray(ArrayIndex), ",")
            For i = LBound(LineDimensions) To UBound(LineDimensions) - 1           '这里减了1,确保了SecondPoint不出错,但最后一个点就给扔掉了
                FirstPoint = (.Height - RowOffset) - (CInt(LineDimensions(i)) * ColSize)
                SecondPoint = (.Height - RowOffset) - (CInt(LineDimensions(i + 1)) * ColSize)
                CurrentY = FirstPoint + 10: CurrentX = ColOffset + (i * RowSize) + (RowSize / 2) - TextWidth(CInt(LineDimensions(i)))
                Print CInt(LineDimensions(i))
                Line (ColOffset + (i * RowSize) + (RowSize / 2), FirstPoint)-(ColOffset + RowSize + (i * RowSize) + (RowSize / 2), SecondPoint), LineColor
            Next i
          '再把这二行复制出来再执行一遍就行了
                CurrentY = FirstPoint + 10: CurrentX = ColOffset + (i * RowSize) + (RowSize / 2) - TextWidth(CInt(LineDimensions(i)))
                Print CInt(LineDimensions(i))
    Next ArrayIndex


[此贴子已经被作者于2020-9-9 10:00编辑过]


授人于鱼,不如授人于渔
早已停用QQ了
2020-09-09 09:50
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
问题2:需要修改的代码
    '显示横坐标,这里有问题,向左偏移了
    For i = 1 To Rows
        CurrentY = .Height - (RowOffset / 2) - (TextHeight("I") / 2)
        CurrentX = i * RowSize - (TextWidth(RowCaption(i)) / 2)
        Print RowCaption(i)
    Next i
这里,需要再套一层循环
如果  RowCaption(i) 包括特定的字符,则进入循环。
按特定字符拆分成一个数组,
循环,计算每一个元素的坐标,然后显示。


授人于鱼,不如授人于渔
早已停用QQ了
2020-09-09 09:54
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
问题3:
你修改传入的数据就是了。

如,你保存的数据在 数组里,或数据库里。
每次根据滚动条的位置,取10个数据,拼成指定的格式,然后调用重绘函数,重新绘制一下图像就是了。
图像本身是不会动的,能动的就只有 重新显示数据而以。

授人于鱼,不如授人于渔
早已停用QQ了
2020-09-09 09:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503062-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.163226 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved