4维风险表的可视化

时间:2016-01-28 13:20:42

标签: r visualization data-visualization

我有一个由客户组成的数据集,分发到不同的完整国家和客户级别。每个国家/级别组合都有一个大小和风险属性。 risk属性表示问题有多大,size属性表示相关人口的大小。

示例数据(R):http://www.r-fiddle.org/#/fiddle?id=KVMCtmz8&version=12

您如何可视化此数据以显示所有4个维度(从概念上讲,不一定是编码方式)?

我最初的想法是创建一个二维表格/格子(国家x级别),其大小为气泡,风险为色标,但我担心泡沫图的有效性。

编辑:代码链接修正

1 个答案:

答案 0 :(得分:0)

我会将答案与 为您的数据做的事情分开 - 这完全取决于您的数据中的趋势以及您尝试传达的信息。

使用ggplot2geom_point参数可以捕获使用aes()对象汇总数据的方式。这些是:

  • x
  • y
  • alpha
  • color
  • 填写
  • 形状
  • 尺寸
  • 中风

这提供了一个潜在的 8 维度,您可以在其上绘制数据图表。其中一些,特别是颜色和填充,你只能与正确的形状结合使用(pch = 21 - 25,见here)。同样,shape无法映射到连续变量,因此您也受限制。

那就是说,我永远不会建议一次使用所有这些,因为你的图表很难解释,但理论上你可以。

示例代码

ggplot(df, aes(x = size, y = risk)) + geom_point(aes(color = country, size = custlevel))

enter image description here

对于离散变量,您可以拉出的第二个杠杆是刻面。这可以为您的数据添加(理论上,不推荐)无限维,具体取决于您需要的子部分数量。例如:

ggplot(df, aes(x = size, y = risk)) + geom_point(aes(color = country)) + 
facet_wrap(~custlevel)

enter image description here

您可以使用facet_wrapfacet_grid,在参数中添加其他维度(即facet_wrap(~custlevel + country)facet_wrap(~custlevel + country + size)

同样,由于降低了可读性,因此不建议这样做。但是,这些都是您可以使用的工具。