excel抛开图表来制图 热力型图表HeatMap[借尸还魂]
- 2021-11-12
- 来源/作者: 菜鸟图库/ 菜鸟图库
- 485 次浏览
有时,当尝试利用现有数据去制作一个Excel图表时,直观感觉很简单,但实际操作起来却非常茫然,不知从何入手,如图8.2-1所示的案例即是一个这样的实例。
图8.2-1 抛开图表来制图
案例介绍
图8.2-1的案例是进行分类和区分的图表,由多个面积大小相同的矩形色块构成,根据代表数值的不同色块颜色各不相同,该图一般称为“马赛克图”。通常借助颜色的[以及色温的冷暖]梯度变化来表示数值大小的这类图表,统一称为“热力型图表(HeatMap)。”
在该案例中,图表的原始数据基本没有参与图表的绘制,每个数据点的数值仅是图表对应色块的数值标注。
学习思考
关于热力型图表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所示的状态,规划好色阶设置,包括合理设置每个色阶间的数值步长。
图8.2-2 8.2-1案例图表实现第1步
提示
当然可以在原始数据处直接整理,但不推荐,这不是一个好的作图习惯。
1)如果操作失误,将丢失原始数据。
2)保留原始数据可以使图表的制作变得更加明晰。
2.选中数据区域,开始>条件格式>新建规则,在对话框中选择“只为包含以下内容的单元格设置格式”,条件设置为“介于”,依次按照步骤1的色阶规划来设置相应的数值及格式,如图8.2-3所示。
图8.2-3 8.2-1案例图表实现第2步
3.整理修饰后的最终效果如图8.2-4所示。
图8.2-4 8.2-1案例图表最终实现
其他
图8.2-5案例是一个热力型的中国陆地地图,该案例和8.2-1案例的实现方式相同,均利用了单元格填色。所不同的是该图使用的数据点非常多,由于Excel 2003限制单个单元格仅能设置3个条件格式,单元格填色采用VBA来完成,同时借助Excel照相机功能来实现。
图8.2-5 热力型中国陆地地图
注:使用该方法实现的热力型地图有一个非常糟糕的问题,图像的分辨率受单元格数量及Excel 2003的256列限制,所以不适合将图拉得太大,这会导致图像变得粗糙。当然使用Excel 2007/2010会有所改观,但由于引用数据增加的缘故,该文档操作起来异常缓慢。如果不需要使用较大的图像,也不失为一个好方法。
图8.2-6案例是一个工作任务分配甘特图,该案例也和8.2-1案例的实现方式相同,通过将原始数据使用数据透视表整合后,使用单元格条件格式来完成。不论Excel版本,使用图表来制作此图,将比使用单元格格式填色要复杂很多倍。
图8.2-6 工作任务分配甘特图
注:只要我们有足够的耐心,及喜好折腾的动手能力,使用类似方法可以实现非常便捷的甘特图模板,比使用Excel图表制作要更灵活、更方便。