在 R 中可视化树状图:利用 2014 年国民总收入数据集比较各国的国民总收入 (GNI)

数据可视化可以帮助您一目了然地理解复杂的数据。 特别是,树状图对于直观表示许多数据点非常有用。在本篇文章中,我们将学习如何使用 R 编程语言创建一个树状图,根据 2014 年国民总收入数据集比较各国的国民总收入(GNI)。

树形地图的概念

树状图是一种可视化方法,它将分层数据表示为矩形瓦片。 每个瓦片的大小与其项目值成正比,颜色可代表附加信息。当您有大量数据点,并希望轻松比较每个项目的相对大小时,树状图尤其有用。

R 代码示例

安装并加载必要的软件包,使用 GNI 2014 数据集创建树状地图。

# 所需包装清单
packages <- c("ggplot2", "treemapify", "dplyr", "viridis")

# 检查并安装未安装的软件包
new_packages <- packages[!(packages %in% installed.packages()[, "Package"])]
if(length(new_packages)) install.packages(new_packages)

加载 # 软件包
lapply(packages, library, character.only = TRUE)

导入 GNI 2014 数据集并进行数据预处理。

导入 # GNI2014 数据集
数据(2014 年国民总收入)

# 数据预处理
gni2014 %
mutate(label = ifelse(GNI > quantile(GNI, 0.75), country, ""))

编写生成树形图的代码。

复制 R 代码创建 # 树状地图
ggplot(GNI2014, aes(area = GNI, fill = GNI, label = label, subgroup = continent)) +
geom_treemap() +
geom_treemap_subgroup_border(color = "white", size = 2) +
geom_treemap_subgroup_text(place = "center", grow = TRUE, alpha = 0.5, color = "black", fontface = "bold") +
geom_treemap_text(color = "white", place = "center", size = 10, grow = TRUE) +
# 应用修改后的色标
scale_fill_gradient(low = "yellow", high = "purple", breaks = c(0, 25000, 50000, 75000, 100000), labels = scales::comma) +
labs(title = "GNI 2014 数据集树状地图"、
subtitle = "各国国民总收入比较"、
caption = "数据:GNI2014") +
theme_minimal() +
theme(legend.position = "bottom"、
legend.key.width = unit(2, "cm"), # 调整图例键的宽度
plot.title = element_text(hjust = 0.5, size = 20, face = "bold")、
plot.subtitle = element_text(hjust = 0.5, size = 16)、
plot.caption = element_text(hjust = 1, size = 10))

上面的代码使用 ggplot2 软件包生成树状地图。 国际电信联盟 在该功能中,每个瓦片的面积根据其国民总收入值进行设置,颜色根据其国民总收入值进行设置。 此外、 显示国民总收入 25% 值最高的国家名称的国家。您可以调整该值来显示不可见的国家名称。

完整源代码

# 所需软件包列表
packages <- c("ggplot2", "treemapify", "dplyr", "viridis")

# 检查并安装未安装的软件包
new_packages <- packages[!(packages %in% installed.packages()[, "Package"])]
if(length(new_packages)) install.packages(new_packages)

加载 # 软件包
lapply(packages, library, character.only = TRUE)

加载 # GNI2014 数据集
data(GNI2014)

预处理 # 数据
gni2014 %
    mutate(label = ifelse(GNI > quantile(GNI, 0.75), country, ""))

生成 # 树状地图
ggplot(GNI2014, aes(area = GNI, fill = GNI, label = label, subgroup = continent)) +
    geom_treemap()
    geom_treemap_subgroup_border(color = "white", size = 2) +
    geom_treemap_subgroup_text(place = "center", grow = TRUE, alpha = 0.5, color = "black", fontface = "bold") +
    geom_treemap_text(color = "white", place = "center", size = 10, grow = TRUE) +
    # 应用修改后的色标
    scale_fill_gradient(low = "yellow", high = "purple", breaks = c(0, 25000, 50000, 75000, 100000), labels = scales::comma) +
    labs(title = "GNI 2014 数据集树状地图"、
         subtitle = "各国国民总收入(GNI)比较"、
         caption = "数据:GNI2014") +
    theme_minimal()
    theme(legend.position = "bottom"、
          legend.key.width = unit(2, "cm"), # 调整图例键宽度
          plot.title = element_text(hjust = 0.5, size = 20, face = "bold")、
          plot.subtitle = element_text(hjust = 0.5, size = 16)、
          plot.caption = element_text(hjust = 1, size = 10))

常见错误及如何避免

创建树状图时的一个常见错误是图块太小,标签难以看清。 为避免这种情况,需要使用适当的数据预处理和标签策略。 此外,还要注意不要过度使用颜色,否则会导致视觉混乱。

组织起来

如果按上述顺序运行源代码,将得到以下输出结果。 这里比我们在上一个示例中创建的要好一点,对吗?

treemap

在本篇博文中,我们了解了如何使用 R 创建树状图来可视化 2014 年国民总收入数据集。 树状图是直观比较大量数据的强大工具。 请继续关注我们,探索更多可视化技术!

类似文章