前言

作为小魔方的队友,我真的惊呆了,Excel竟能绘制这么好看的堆积柱形图和百分比堆积柱形图,很佩服小魔方的学习能力与创新能力。我的Excel水平感觉远远不如小魔方啊,佩服之极!很高兴能成为小魔方的队友!

---张杰

前天看到DP(Excel绘图发烧友)在本平台授权发布的华尔街日报面积图仿制图,刚好想起来一个半月前自己也曾做过这个案例。



当时我用了很复杂的数据组织,结合了面积图和柱状图,虽然效果很逼真,但是接口除出现了轻微的错位,留下了一大遗憾。

当时虽然知道要用时间刻度来处理这一问题,但是因为眼高手低,一直没有操作,今天接着DP前一篇的案例,简单介绍下自己的方法(与前一篇的方法所使用的技巧是一致的),同时作为扩展,再赠送两个案例。

为了对比,我先给出自己之前老版本的数据源组织:




堆叠柱状图 python 数字 excel做堆叠柱状图_数据源


以上老方法可以近似原图效果(实际上接口处是有轻微错位的,放大之后可以看得很清楚)。


DP大神的方法比较简单一些,使用的是时间刻度+面积图。


该方法固然精妙,但是对于excel图表技巧不太熟悉的小伙伴儿们,可能就有点儿摸不着头脑了。

因为此方法将原数据的首行作为面积图的X轴(时间刻度格式)、将其他各行(一共18行)作为面积图的数据序列,以错行数据来使得面积图逼近原图效果。(实际上数据源使用的是指标数据的累计和,借用面积图类型制作,通过低值面积块与高值面积块的层层遮盖来逼近原图效果)

接下来我使用之前的老方法改进后的简便方法(所用核心技巧与DP一致)

该方法与上一步指出的DP大神的方法是一致的,只是转换了行列,同时将累积和数据转换成了单值数据,这样便于使用堆积面积图来还原案例。

按照我最初的想法,我将数据源整理成行排列,首列是时间轴(X轴)数据,这里我刻意将接口处的数据序列全部排成单行,以便大家体会时间刻度的奇妙用法。

按照上述数据源,插入——面积图——堆积面图,然后为图表指定X轴为首列(A)数据,并更改为时间与日期刻度。

这时候通过数据错行组织,堆积面图便可以近似还原案例图表效果。剩余的就是搭配色彩和文本信息。


这里的文本信息,特别是左侧文本标签和右侧的数值标签,你可以通过手动添加,但是如果想要更加智能一点的自动生成,也可以尝试在现有图表序列基础上通过添加折线图序列来完成。

左侧的文本标签所需的辅助散点图序列和右侧的数值标签所需的辅助散点图序列数据源如下:


整体图表的最终效果如下:


因为时间刻度的技巧,之前推送过的文章里多有介绍,这里不再深入讲解,亲手去操作几个案例,理解的会更加深刻。

接下类是两个类似的使用时间刻度并与以上案例非常相似但是难度加倍的华尔街日表案例:


其实后两者的技巧与上文讲过的案例如出一辙,第二个案例只是增加了更多的时间刻度,第三个案例通过在首尾各隐藏一个辅助面积块区域,来将例2的面积块区域逼近到水平居中的位置。

这里只给出案例数据源组织方式,因为案例过于繁杂,实用性不强,不做过多介绍,感兴趣的读者可以私下交流。

图2:多节阶梯图


图3:漏斗状阶梯图


特别是图3,在每一个序列首尾两个值=(MAX(所有十八个序列指标累积和)-单个序列累积和)/2

通过隐藏每一个序列首尾的辅助面积块,将整个阶梯图区域逼近到水平居中的位置,思路仅供参考,其他需要添加的文本,如想自动化,可借鉴第一个案例所述的辅助散点图思想进行操作,本篇到此为止,只提供思路,具体步骤留给大家自己练习。

天善智能EasyCharts博客专栏