Excel图表学习08:圆形运动轨迹动画

 

使用XY散点图绘制圆的运动轨迹动画。...





在《Excel图表学习06:画圆》中,我们使用XY散点图绘制了一个圆。在此基础上,我们在《Excel图表学习07:画圆(动画绘制圆)》中,介绍了制作动画圆的方法。本文,我们将在这两篇文章介绍的技巧的基础上,实现绘制圆形轨迹运动,如图1所示。



图1

下图2是我们在《Excel图表学习06:画圆》中所使用的数据,本文仍然使用这些数据。



图2

首先,定义一些名称。

名称:n

引用位置:=25

名称:ndx

引用位置:=1

名称:circle_x

引用位置:=OFFSET(Sheet1!$C$2,0,0,n,1)

名称:circle_y

引用位置:=OFFSET(Sheet1!$D$2,0,0,n,1)

名称:dot_circle_x

引用位置:=INDEX(circle_x,ndx)

名称:dot_circle_y

引用位置:=INDEX(circle_y,ndx)

图3为我们在《Excel图表学习06:画圆》中绘制的圆。



图3

选择已经绘制的圆系列,单击右键,选取“设置数据系列格式”。在弹出的“设置数据系列格式”对话框中,将“数据标记选项”设置为“无”,将“线条颜色”设置为“无线条”。此时,图表如图4所示。



图4

我们看到,已经绘制的圆不见了,这是我们的设置造成的,实际上这个圆仍然存在于绘图区中。

下面,我们来添加数据系列。

选中绘图区,在“图表工具”选项卡组中选择“设计”选项卡下的“选择数据”命令,添加数据系列dot_circle,如图5所示。



图5

注意,如果此时在绘图区看不到任何东西,那么需要设置数据系列“dot_circle”的线条颜色为“实线”。

在工作表中插入一个ActiveX控件命令按钮,将其标题更改为“圆形轨迹运动”,双击该按钮并输入下面的代码:

Private i As Long

PrivateblnRunning As Boolean

Private SubCommandButton1_Click()

Dim nm As Names

Dim z As Long

Const DELAY_FACTOR = 1000

If CommandButton1.Caption = "圆形轨迹运动" Then

CommandButton1.Caption = "停止运动"

End If

If blnRunning Then

blnRunning = False

CommandButton1.Caption = "圆形轨迹运动"

Exit Sub

End If

blnRunning = True

Application.Cursor = xlNorthwestArrow

Set nm = Application.Names

Do

If blnRunning = False Then Exit Do

i = i + 1

If i > 25 Then i = 1

nm.Add "ndx", (i Mod [n]) + 1

For z = 1 To DELAY_FACTOR: DoEvents:Next z

Loop

Application.Cursor = xlDefault

blnRunning = False

Set nm = Nothing

End Sub

退出“设计模式”,然后单击命令按钮,就可以看到圆的轨迹运动的动画了,如图6所示。



图6

细心的读者可能会注意到,圆点的运动轨迹似乎并不圆,这是由于我们绘制时使用的数据点较少造成的,增加一些数据,效果会更好。

本文属原创文章,转载请注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎关注[完美Excel]微信公众号:

方法1—在微信通讯录中搜索“完美Excel”或者“excelperfect”后点击关注。

方法2—扫一扫下面的二维码


    关注 完美Excel


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册