新浪博客

打断纵轴的图表

2012-11-06 14:52阅读:

用Excel制作打断坐标轴的柱形图

知识管理
我们在制作图表时会遇到这种情况:需要表示一个数据系列,包含的值可以分为彼此相差很大的两类。这时,为了满足同时表现出这两类之间不同值的差异,我们就会用到打断纵坐标轴的柱形图了。打断纵坐标(y)轴以后,y轴的刻度单位是不变的,只是柱形图的高度变小,就好比一栋10层的楼,把3~8层平移走,9、10层依然落于2层之上,只是总体的高度变化了。因而,在这栋楼的3~8层我们需要“打断”。那么思路就是:1. 确定需要打断的数值,2. 确定这些数值打断后在y轴上有多高,3. 修改坐标轴标签值,4. 添加打断线标志。比较麻烦的是第3步,因为Excel是不允许自定义坐标轴的标签的,所以我们只好用散点图代替坐标轴刻度,为散点图添加标签来代替真正的坐标轴标签,从而达到以假乱真的效果。
为使给数据系列添加(编辑)标签更加方便,需要用到Excel的免费插件——XY Chart Labeler。这个插件在这里有介绍。
举个例子,以2011年排名1~3名和28~30名的6个国家的GDP作为基本数据,做出柱形图,如下:

是不是觉得前三名和28~30名之间,柱子的高度相差太大?我们现在就确定“USA”、“PRC”、“Japan”的数值需要打断,说白了就是通过缩小这些值,从而实现减低各自对应的柱子的高度的目的。如下图,我们确定一个系数(Factor)来明确这些值到底需要缩小到什么程度(还有一个目的就是确定真实的坐标轴刻度标签)。

好,重新以缩小后的值作图,各个数值所代表的柱子的高度协调了,但是我们需要对坐标轴刻度标签予以更正。

于是我们新添加一个数据系列,即Y_tag_o和X_tag,分别代表纵横坐标轴,然后将其以散点图的形式添加到图中。注意,这里的Y_tag_o应该是打断之前的真实的坐标轴刻度标签值。那如何确定打断后的坐标轴标签呢?还记得刚才的缩减系数(Factor)吗?用原来的y轴刻度标签乘以Factor就可以了。同时我们要去掉原有的坐标轴刻度标签,如下图:

但是这些散点并没有落到y轴上,我们需要更改纵坐标轴的属性,让位置坐标轴在刻度线上,如下图:

好,散点图已经落在y轴上面了。我们现在用 XY Chart Labeler添加纵坐标轴标签。需要添加标签的是Y_tag数据系列,需要添加的标签值为Y_tag下面的值,左对齐:

这样,y轴的刻度标签就更正过来了:

然后我们添加打断线,就可以以假乱真了:

好了,就是这样,希望对你带来帮助。

我的更多文章

下载客户端阅读体验更佳

APP专享