excel图表怎么用箭头线连接两个XY散点
发布时间:2022-01-28 12:10:36
本文介绍如何使用箭头线更加可视化地显示变化的方向,如图1所示。
图1
在Excel 2007及以后的版本中,通过设置系列3的箭头末端格式,很容易实现图1所示的效果。
下面,我们使用VBA来完成箭头线的绘制。
SubConnectTwoXYSeries()
Dim myCht As Chart
Dim mySrs1 As Series
Dim mySrs2 As Series
Dim Npts As Integer, Ipts As Integer
Dim myBuilder As FreeformBuilder
Dim myShape As Shape
Dim Ishp As Long
Dim Xnode1 As Double, Ynode1 As Double
Dim Xnode2 As Double, Ynode2 As Double
Dim Xmin As Double, Xmax As Double
Dim Ymin As Double, Ymax As Double
Dim Xleft As Double, Ytop As Double
Dim Xwidth As Double, Yheight As Double
‘ 必须先选取具有两个系列的图表
If ActiveChart Is Nothing Then
GoTo ExitSub
End If
If ActiveChart.SeriesCollection.Count < 2Then
GoTo ExitSub
End If
Set myCht = ActiveChart
Set mySrs1 = myCht.SeriesCollection(1)
Set mySrs2 = myCht.SeriesCollection(2)
Npts = mySrs1.Points.Count
‘ 两个系列必须具有相匹配数量的点
If mySrs2.Points.Count <> Npts Then
GoTo ExitSub
End If
‘ 移除任何原先的连接箭头线
For Ishp = myCht.Shapes.Count To 1 Step -1
If Left(myCht.Shapes(Ishp).Name, 12) =”ArrowSegment” Then
myCht.Shapes(Ishp).Delete
End If
Next
Xleft = myCht.PlotArea.InsideLeft
Xwidth = myCht.PlotArea.InsideWidth
Ytop = myCht.PlotArea.InsideTop
Yheight = myCht.PlotArea.InsideHeight
Xmin = myCht.Axes(1).MinimumScale
Xmax = myCht.Axes(1).MaximumScale
Ymin = myCht.Axes(2).MinimumScale
Ymax = myCht.Axes(2).MaximumScale
For Ipts = 1 To Npts
‘ 第1个数据点
Xnode1 = Xleft + (mySrs1.XValues(Ipts) -Xmin) * Xwidth / (Xmax – Xmin)
Ynode1 = Ytop + (Ymax -mySrs1.Values(Ipts)) * Yheight / (Ymax – Ymin)
‘ 第2个数据点
Xnode2 = Xleft + (mySrs2.XValues(Ipts) -Xmin) * Xwidth / (Xmax – Xmin)
Ynode2 = Ytop + (Ymax -mySrs2.Values(Ipts)) * Yheight / (Ymax – Ymin)
‘ 绘制连接线
Set myShape = myCht.Shapes.AddLine(Xnode1,Ynode1, Xnode2, Ynode2)
‘ 命名并格式形状为箭头线
With myShape
.Name = “ArrowSegment” &CStr(Ipts)
With .Line
‘ 在这里可以使用你喜欢的格式
.ForeColor.SchemeColor = 12 ‘ 蓝色
.EndArrowheadLength = msoArrowheadLong
.EndArrowheadWidth =msoArrowheadWidthMedium
.EndArrowheadStyle =msoArrowheadTriangle
End With
End With
Next
ExitSub:
EndSub
在运行程序前,先要选择图表。
运行程序后的结果如图2所示。
图2
虽然在Excel 2007及以上的版本中,很容易实现这样的功能,但我们仍然试图使用VBA程序实现同样的效果。通过VBA程序,让我们进一步熟悉图表元素及图表编程的技术。


猜你喜欢
- 删除网页上的链接方法一:步骤一:点击计算机开始菜单,找到Word2013 图标,单击打开 步骤二:选择 右侧的 空
- wps office页码怎么删除?在实际工作中,我们会遇到有的目录是不需要添加页码的,那遇到这种情况,该如何处理呢?下面看看Word小编的处
- 对于微软公司最新推出的windows10X系统,相信很多小伙伴都一直在关注着它的更新优化情况。那么对于此次Windows 10X文件资源管理
- 许多用户在使用电脑的时候,经常会使用U盘重装电脑系统。而使用U盘重装电脑系统的时候基本都是先重装电脑系统,然后再进行U盘启动项设置,那么具体
- ppt讲义打印自动出现的日期怎么去掉?ppt幻灯片打印的时候会出现当前的日期,想删除日期,该怎么删除呢?下面我们就来看看详细教程,需要的朋友
- Win11远程连接无声音怎么办?win11系统远程没有声音,想要解决这个问题,我们分享四种解决办法,下面我们就来看看Win11 RDP远程桌
- 我们都知道电脑系统在一定的时间段就会推出一种新的版本,系统会提升是否升级,但是很多用户用习惯了现在的系统,不想去升级,那么我们就有关闭升级的
- 长时间面对电脑屏幕,眼睛会变得疲劳,这个时候就需要用到电脑的深色模式,有些用户刚从Win10升级到Win11,不知道Win11系统设置深色模
- 在使用excel的过程中,可能会需要通过按钮的功能来让整个文件的数据归类显示得更清晰直观。但是还有很多人不知道怎么在excel做按钮选项功能
- 在办公中经常会用到excel中的计算对数的功能,如果不懂的朋友不妨一起来学习研究一番。接下来是小编为大家带来的excel计算对数的方法,供大
- 今晨,凡是已经升级到Windows 10 PC预览版Build 14986用户收获了一个累积更新,补丁代号KB3206309。升级后,Win
- ics启动失败怎么办?当我们在使用计算机的时候,时常会出现各种问题,有时候会出现系统提示ics启动失败的情况,这是什么原因产生的?该如何解决
- 本教程将给脚本之家的各位powerpoint教程学习者分享几个比较实用的ppt排版技巧:ppt中多对象如何快速对齐、组合、调整相同间距?方法
- excelif函数多个条件怎么用?IF函数在EXCEL中是一个基础函数,多用于条件判断,然后根据条件判断的结果返回对应的内容。IF函数的使用
- 1、首先下载和安装最新版本的手心输入法2、点击开始菜单中的手心输入法文件夹,即可看到符号表 3、打开之后,将鼠标放
- 我们在Excel中编辑报表时,经常会用到相同的公式,其实有一种简单快捷的方法,接下来就让我们一起来看一下吧。方法一:首先观察要复制公式的单元
- Win10回收站在哪里?回收站太小,删除大文件的东西就直接删除了,想恢复都恢复不过来吗,该怎么重新修改win10回收站的大小呢?下面我们一起
- 很多用户都想尝试一下最新的Win11系统,结果安装之后出现了很多不兼容的情况,就有的用户出现了开机闪屏的情况,那出现了这情况要怎么处理呢,下
- 在WPS演示中,有一个备注页功能,这个功能主要是用来防止用户忘词或者是帮助用户回忆讲演思路,总的来说,这个备注页功能是非常贴心的一个小功能。
- 系统部落6月15日消息,又到了每周二补丁日了。今天微软推送了Win11 6月累积更新补丁KB5014697,此次更新解决Windows操作系