让我们考虑以下数据集:
Name | Age | Hair Color
-----------------------------
John | Young | Brown
Sophie | Old | Blond
Adam | Mature| Blond
Mark | Teen | Dark
Jeremy | Old | Grey
Alex | Young | Brown
etc...
年龄和头发颜色都只能采用定义的值(年轻/青少年/成熟/年老和金发/棕发/黑发/灰发)。姓名是这里唯一真正的变量。
我想创建一个如下所示的散点图/矩阵:
我知道我应该使用此工具向散点图添加标签。
我也发现了这个Youtube 视频解释如何在 Y 轴上显示类别
此外我需要图表是动态的,正如另一个 YouTube 视频。
如何结合所有这些方法来获得在两个轴上均以类别为值的散点图?
答案1
只要发挥一点创造力,Excel(和图表标签器插件)就可以创建这种类型的图表。
就是这样:
- 布局您的数据。您需要一些辅助列来完成此操作。
首先,您需要将分类数据转换为数字,然后将这些数字绘制在图表上。在此示例中,此操作发生在
X_Age
和Y_Hair
列中。使用 Chart Labeler 插件为您的数据点添加标签。在这种情况下,您有两个重叠的标签(Alex 和 John),必须手动调整,但您可以使用 VBA 为您完成此操作。
为 X 轴标签添加数据系列。它们是数据样本中的三个 X 标签列(X 值、Y 值和点标签)。然后,使用图表标签器插件在点下方添加标签。
为 Y 轴标签添加数据系列。它们是数据样本中的三个 Y 标签列(X 值、Y 值和点标签)。再次使用图表标签器插件将标签添加到点的左侧。
最后,您需要做大量的格式化工作,特别是清理轴的最小/最大值、删除默认轴标签等......
要使这些动态化,您只需为每个数据系列(列)创建一个命名范围,使用 Count 和 Offset 使它们随数据增长。然后使用范围名称代替图表系列公式中的系列单元格引用。
编辑:
对于风险分析(或任何其他需要进行象限分析的情况),请将值设置为从负到正,然后可以使用 Excel 的常规轴作为象限。此外,添加另一个辅助数据系列来提取高风险(或您想要突出显示的其他值),然后可以对其进行格式化以引起注意。
有关在散点图中突出显示值的更多信息,请查看我对这个问题的回答: 突出显示散点图值