本文主要以实例介绍使用不等距的坐标轴标签来改变图表的展现形态的方法,达到在保持正确时间逻辑的基础上,突出每个数据点上的坐标轴位置的效果。
在上一次的文章:使用均匀时间坐标来改变图表的展现形态的方法当中,我们通过散点图的方法,将下面这组网站不同时间点上的在线用户数据做成了均匀时间刻度的图表分布形态。

如果希望这个图表在保持正确时间逻辑的基础上,突出每个数据点上的坐标轴位置,以此来表明具体是哪个时间点上产生了这些数据,比如下面的图中这样的效果,可以采用一种虚拟坐标标签的方式来实现。

具体实现方法如下:
首先,需要在原始数据的基础上增加一列辅助数据,这一列数据都使用相同的数值,具体数值大小根据Y轴的最小值来决定,在这个例子当中最小值为0,因此可以全部取为0,得到下面这个表格。

然后以【时间】这列数据作为X轴数据,另外两列分别作为两个不同系列的Y轴数据,生成包含数据点显示的XY散点图,

生成结果如下:

双击X轴坐标,设置坐标轴【最小值】为0,【最大值】为1(表示时间范围在0点到24点之间),然后将【主要刻度线类型】、【次要刻度线类型】和【坐标轴标签】都设置为“无”,这样做是为了将原有的X坐标轴标签隐藏起来。

得到的结果如下:

然后再去选中图表中位于X轴上的那个数据系列,也就是由辅助列当中这组0值所产生的图形,点击右键,添加【数据标签】。

出现一组显示“0”的数据标签:

选中这组数据标签,右键选择【设置数据标签格式】,将显示值设置为“X值”,标签位置设置为“靠下”

得到下面的结果,这组不等距的时间点标签就显示出来了。我们这么做的目的就是用这样的一组数据标签来虚拟坐标轴标签。

再次选中这个辅助数据系列,右键选择【设置数据系列格式】,将【数据标记类型】设置为“无”,将【线条颜色】也设置为“无”,以此来隐藏这个数据系列线条和数据点的显示。

得到结果如下:

至此,我们需要的效果已经具备雏形,为了增强坐标轴标签的视觉引导,可以为各个数据点添加一条垂直引线。作为散点图来说,可以利用“垂直误差线”来实现。
选中图表中显示的数据系列,在图表工具栏的【布局】选项卡下面点击【误差线】按钮,在其中选择【百分比误差线】

添加误差线以后图表的显示如下。这里同时显示了水平误差线和垂直误差线,两组误差线相交成十字星图案。

选中其中的水平误差线直接删去,然后选中垂直误差线,右键选择【设置错误栏格式】,然后设置方向为“负偏差”,设置末端样式为“无线端”,设置误差量百分比为“100%”。

这样就可以得到一组从数据点垂直引向X坐标轴的误差线,如下图:

在此基础上对误差线进行一些美化设置,就能得到最终效果:

如果X轴的分类数据不是时间,而是大于1的整数,直接通过日期坐标的折线图+垂直线(折线图中可以使用垂直线直接生成引导线)就能简单实现,例如下面这组数据生成的最终效果如下:

整个过程看上去有些复杂,概括来说,就是在使用日期或时间坐标的图表基础上,通过一组与分类轴相对应的辅助数据来形成横坐标轴上不等距的虚拟轴标签,最后再用误差线或垂直线来形成这组标签的引导线。这样,就可以既满足图线分布在连续的时间轴上,又能显示各个数据点的实际坐标位置。