有时,当尝试利用现有数据去制作一个Excel图表时,直观感觉很简单,但实际操作起来却非常茫然,不知从何入手,如图8.2-1所示的案例即是一个这样的实例。

抛开图表来制图[借尸还魂]-Excel22

图8.2-1 抛开图表来制图

案例介绍

图8.2-1的案例是进行分类和区分的图表,由多个面积大小相同的矩形色块构成,根据代表数值的不同色块颜色各不相同,该图一般称为“马赛克图”。通常借助颜色的[以及色温的冷暖]梯度变化来表示数值大小的这类图表,统一称为“热力型图表(HeatMap)。”

在该案例中,图表的原始数据基本没有参与图表的绘制,每个数据点的数值仅是图表对应色块的数值标注。

抛开图表来制图[借尸还魂]-Excel22

学习思考


关于热力型图表HeatMap

1)此类图表主要有两种常见类型:

a)热力地图;

b)非地图类。

2)非地图类表现形式:

a)可以配合色块面积的大小表达两个维度的数据形态,比如使用气泡、饼图、矩形等;

b)也可仅使用单一色块的大小来表达数值的大小,如图7.5-8所示案例。

:此类应用相对较少。


案例分析

Excel中可以将数据使用色阶梯度变化的图表,只有曲面图,但生成的曲面图根本无法实现面积大小相同的多个矩形色块。要实现这个效果,图表上的每个小色块均需要有大量数据,现有的数据是每个小色块仅有一个数据;通过变换原始数据,使用曲面图来实现就显得有些得不偿失。

在Excel图表中可以被用来实现面积相同的矩形色块的图表类型是堆积柱形、堆积条形和多系列三维柱形图。堆积柱形、堆积条形需要抛开现有数据,重新模拟作图数据;同理,诸如气泡图、折线、XY散点通过设置数据点填充或标记样式亦可实现,但同样需要重新模拟作图数据。唯有多系列三维柱形图可以使用现有数据直接实现,问题是这些图表均不支持使用色阶梯度变化来标注数据点的颜色。

案例实现

自Excel 2007起始,Excel对于条件格式的设置变得更加灵活和多变,尤其是单一单元格可以支持使用多达64个条件格式。这为图8.2-1案例的实现提供了抛开Excel图表来制图的最佳选择。

:以下案例必须使用Excel 2007/2010来实现,Excel 2003单一单元格只支持3个条件格式。

1.将原始数据复制并整理为如图8.2-2所示的状态,规划好色阶设置,包括合理设置每个色阶间的数值步长。

抛开图表来制图[借尸还魂]-Excel22

图8.2-2 8.2-1案例图表实现第1步

提示


当然可以在原始数据处直接整理,但不推荐,这不是一个好的作图习惯。

1)如果操作失误,将丢失原始数据。

2)保留原始数据可以使图表的制作变得更加明晰。


2.选中数据区域,开始>条件格式>新建规则,在对话框中选择“只为包含以下内容的单元格设置格式”,条件设置为“介于”,依次按照步骤1的色阶规划来设置相应的数值及格式,如图8.2-3所示。

抛开图表来制图[借尸还魂]-Excel22

图8.2-3 8.2-1案例图表实现第2步

3.整理修饰后的最终效果如图8.2-4所示。

抛开图表来制图[借尸还魂]-Excel22

图8.2-4 8.2-1案例图表最终实现

其他

图8.2-5案例是一个热力型的中国陆地地图,该案例和8.2-1案例的实现方式相同,均利用了单元格填色。所不同的是该图使用的数据点非常多,由于Excel 2003限制单个单元格仅能设置3个条件格式,单元格填色采用VBA来完成,同时借助Excel照相机功能来实现。

抛开图表来制图[借尸还魂]-Excel22

图8.2-5 热力型中国陆地地图

:使用该方法实现的热力型地图有一个非常糟糕的问题,图像的分辨率受单元格数量及Excel 2003的256列限制,所以不适合将图拉得太大,这会导致图像变得粗糙。当然使用Excel 2007/2010会有所改观,但由于引用数据增加的缘故,该文档操作起来异常缓慢。如果不需要使用较大的图像,也不失为一个好方法。

图8.2-6案例是一个工作任务分配甘特图,该案例也和8.2-1案例的实现方式相同,通过将原始数据使用数据透视表整合后,使用单元格条件格式来完成。不论Excel版本,使用图表来制作此图,将比使用单元格格式填色要复杂很多倍。

抛开图表来制图[借尸还魂]-Excel22

图8.2-6 工作任务分配甘特图

:只要我们有足够的耐心,及喜好折腾的动手能力,使用类似方法可以实现非常便捷的甘特图模板,比使用Excel图表制作要更灵活、更方便。