该内容已被发布者删除 该内容被自由微信恢复。
文章于 4月2日 下午 7:01 被检测为删除。
被用户删除
其他
R语言绘图 | 使用ggplot2绘制气泡图
气泡图
气泡图是一种数据可视化图表,通常用于展示三维数据,其中的点(气泡)的位置由两个数值轴(通常是 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")
大家有兴趣可以加群,可以在群里讨论,学习,共同进步!