说起折线图,很多人都觉得非常简单,不就是一些点连成的线吗?用 Excel 几秒钟就能画出一张折线图。
真的就这么简单吗?
想一想:在普通的折线图中,如何自动地添加一条代表平均值的横线?如何添加一条带箭头的趋势线?如何快速地标注最大值和最小值?如何标注特殊事件?如何对折线图进行数据分析?
下面我们用一个具体的案例,演示折线图的分析过程和画图的方法。
一个案例
根据某公司 2019 年 9 月份每天的销量数据,画出如下一张折线图:
通过观察可以看到,销量每隔几天就有一个波谷,对照日历,发现一个规律:这些销量比较低的日期,都是周末或节假日。
如果理解了业务的周期性,那么在分析数据时,就能排除一些干扰,更快地找到对业务真正有价值的信息。
排除周期性的因素之后,我们观察折线图中的最大值和最小值,看看它们是否在正常范围以内,如果不是的话,那么要分析背后的原因。
比如说,9 月 30 日的销量最高,明显高于平时的正常水平,经过与业务沟通和分析发现,是因为这一天做了打折促销的运营活动。
在折线图中,有一条代表平均值的横线,以及一条带箭头的趋势线,它们有助于对数据整体趋势的把握。
从上面的图中可以看出,中秋节放假之后,销量有所上升,结合广告费的投入数据进行分析,计算它们相关系数,发现销量与广告费之间具有比较强的正相关性,也就是说,中秋节之后,销量上升的主要原因,是公司加大了广告费的投入。
通过上面的分析解读,我们知道,折线图能直观地反映出数据随着时间变化的趋势,让数据更容易进行对比,发现数据背后规律性的知识,从而帮助管理者更好地做出决策。
画图不是为了炫技,而是为了提高信息传递的效率。你不妨反思一下自己画过的图,是不是提高了信息传递的效率呢?
画图方法
能画折线图的软件工具有很多,本文采用的是 Python中的 matplotlib库。
在Jupyter Lab 中运行以下 Python代码,就可以画出上面那张折线图。
读取数据
# 读取每日销售数据
df = pd.read_excel('2019年9月每日销售.xlsx')
df
日期 实际销量
0 2019-09-01 7
1 2019-09-02 16
2 2019-09-03 18
3 2019-09-04 16