该内容已被发布者删除 该内容被自由微信恢复
文章于 4月2日 下午 7:01 被检测为删除。
查看原文
被用户删除
其他

R语言绘图 | 使用ggplot2绘制气泡图

小陈的R语言笔记 小陈的R语言笔記 2024-04-02

气泡图

气泡图是一种数据可视化图表,通常用于展示三维数据,其中的点(气泡)的位置由两个数值轴(通常是 x 轴和 y 轴)表示,而点的大小则表示第三个数值。这种图表常用于显示不同组别的数据,并强调其中一个或多个变量之间的关系。

气泡图的要素包括:

X轴和Y轴:表示数据的两个数值变量。每个气泡的水平位置由X轴值决定,垂直位置由Y轴值决定。

气泡大小: 表示第三个数值变量。气泡的大小通常与某个额外的数值变量相关,可以通过气泡的面积或直径来表示。

颜色: 可以使用颜色来表示不同的类别或组别,这有助于更清晰地区分数据。

透明度(Alpha): 有时,气泡图中的气泡会有不同的透明度,以便在重叠的区域更好地显示数据。

气泡图常用于展示多个组别的数据点,以便观察它们之间的模式、趋势或关联。在业务和科学研究中,气泡图常被用于探索数据集中的多个变量之间的关系,例如经济指标与生活质量之间的关系,或者在地理空间上显示不同地区的数据。

在 R 语言中,ggplot2 包是一个强大的工具,用于创建各种类型的数据可视化图表,包括气泡图。

准备

install.packages("hrbrthemes")
install.packages("viridis")
install.packages("ggplot2")
install.packages("gapminder")
install.packages("dplyr")
install.packages("viridis")

library(hrbrthemes)
library(viridis)
library(ggplot2)
library(gapminder)
library(dplyr)
library(viridis)


#以2007年数据为例
data <- subset(gapminder, year == "2007"

绘图

# 使用 ggplot2 创建气泡图
ggplot(data, aes(x=gdpPercap, y=lifeExp, size = pop, fill = continent)) +

  # 添加散点图层,shape = 21 表示使用实心圆点
  geom_point(shape = 21) + 
  
  # 将图表主题设置为黑白风格
  theme_bw()
# 使用 ggplot2 创建气泡图
ggplot(data, aes(x=gdpPercap, y=lifeExp, size = pop, fill = continent)) +

  # 添加散点图层,shape = 21 表示使用实心圆点
  geom_point(shape = 21) + 
  
  # 调整气泡的大小范围,设置在 0.1 到 18 之间
  scale_size(range = c(0.1, 18)) + 
  
  # 使用 Brewer 调色板中的 "Set2" 设置填充颜色
  scale_fill_brewer(palette = "Set2") + 
  
  # 将图表主题设置为黑白风格
  theme_bw() + 
  
  # 为轴和图例添加标签
  labs(x ="Per.GDP", y = "lifeExp", size = "Population", fill = "Continent")
# 对数据按人口大小降序排列
data %>%
  arrange(desc(pop)) %>%
  
  # 将国家列转换为因子变量,以确保在图表中的顺序正确
  mutate(country = factor(country, country)) %>%
  
  # 使用 ggplot2 创建气泡图
  ggplot(aes(x=gdpPercap, y=lifeExp, size=pop, fill=continent)) +
  
    # 添加散点图层,alpha=0.5 表示设置散点的透明度为 0.5,shape=21 表示使用实心圆点,color="black" 表示散点的边框颜色为黑色
    geom_point(alpha=0.5, shape=21, color="black") +
  
    # 调整气泡的大小范围,设置在 0.1 到 24 之间,并为大小图例添加标签
    scale_size(range = c(.1, 24), name="Population (M)") +
  
    # 使用 viridis 调色板设置填充颜色,discrete=TRUE 表示使用离散色板,guide=FALSE 表示不显示填充颜色的图例,option="A" 表示使用 viridis 调色板中的 A 选项
    scale_fill_viridis(discrete=TRUE, guide=FALSE, option="A") +
  
    # 将图表主题设置为黑白风格
    theme_bw() +
  
    # 将图例位置设置在底部
    theme(legend.position="bottom") +
  
    # 设置y轴标签
    ylab("Life Expectancy") +
  
    # 设置x轴标签
    xlab("Gdp per Capita") +
  
    # 隐藏默认的填充颜色图例
    theme(legend.position = "none")

大家有兴趣可以加群,可以在群里讨论,学习,共同进步!


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存