一、描述变量分类的可视化图形

在很多情形下,我们对一组数字的大小感兴趣。例如,我们可能想要可视化不同品牌汽车的总销量,或者居住在不同城市的总人数,或者参加不同运动的奥运选手的年龄。在所有这些情形下,都有一组类别(例如,汽车、城市或运动的品牌)和每个类别的值。此示例中的标准可视化是条形图,它有多种变体,包括简单条形以及分组和堆叠条形。条形图进一步演化的替代图形是点图和热图。
[b] (一)条形图/柱形图[/b][br][br] 为了更好地理解条形图的意义,我们使用一组数据来描述。示例数据来源于国家统计局发布的 2021 年国民经济和社会发展统计公报中全国居民人均消费支出数据,如表 6-2-1 所示。[br][br] 表 6-2-1 2021 年城镇居民消费支出[br][img]data:image/png;base64,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[/img]
这种数据通常用条形图来可视化。我们绘制一个从零开始一直延伸到数值最大的条形图([color=#0000ff]见图 6-2-1~图 6-2-9[/color])。这种可视化图称为柱形图或条形图。柱形图或条形图是最基础,也是最简单的可视化图形,一般用于分类数据频数大小的统计。[br][br] 在 R 软件中,函数 ggplot2 是最常用的绘图工具库。相关的参数功能描述如下:[br][br] ● 初始化一个 ggplot 对象,不指定作图内容(内容由 geom_xx 来指定)。[br][br] ● 几何对象 geom_xx:表示图形中我们实际看到的图形元素,如点、线等。如绘图时+geom_bar()表示图形中加条形图;+geom_poin()表示生成点;+geom_abline()表示图形中加线条。[br][br] ● 函数 theme()允许自定义图表外观。ggplot2 中控制 3 种主要类型的组件。[br][br] Axis:控制标题、标签、线条和刻度;[br][br] 背景:控制背景颜色及主要和次要网格线;[br][br] 图例:控制位置、文本、符号等。[br][br] ● 标度(scale):表示将数据映射到图形空间,比如用颜色、形状来表示不同的数据,通过自定义标度,可以更精确地控制图形的外观。如 scale 中,xlab()控制 x 轴标签;ylab()控制 y 轴标签;ggtitle()控制图形标题。[br][br] ● 坐标系(coord):描述了数据如何映射到图形所在的平面,最常用的是直角坐标系。[br][br] 但坐标系也可以进行转化,以满足不同的需求,如对数坐标、极坐标和地图投影。如 coord_flip()能对坐标轴翻转。[br][br] ● 图层(layer):每个图层上都有各种图形元素,最后叠加到一块,形成最终图形的效果。正因为图层,ggplot2 允许用户一步步地构建图形,也方便用户对图层进行修改、增加统[br]计量或改动数据。[br][br] ● 分面(facet):就是控制分组绘图的方法和排列方式。通过坐标系和分面,我们可以[br]控制图形元素的位置。
# 本例需加载的 R 软件包[br][br] library(ggplot2) [br][br] library(dplyr) [br][br] library(forcats) [br][br] library(patchwork) [br][br] library(hrbrthemes) [br][br] # 导入或输入示例数据[br][br] data <- read.csv("2021 GDP.csv") [br][br] # 默认柱形图[br][br] pp1= [br][br] data %>% [br][br] mutate(index = fct_reorder(index, Value)) %>% # 设置顺序[br][br] ggplot( aes(x=index, y=Value)) + [br][br] geom_bar(stat="identity") + [br][br] theme_bw()[br][br] pp1[br][br][br][br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-1 柱形图
[br] # 默认条形图[br][br] pp2= [br][br] data %>% [br][br] mutate(index = fct_reorder(index, Value)) %>% [br][br] ggplot( aes(x=index, y=Value)) + [br][br] geom_bar(stat="identity") + [br][br] theme_bw()+ [br][br] coord_flip() # 水平条形图[br][br] pp2[br][br][br][br][br][br][br][br][br][br][br] 图 6-2-2 条形图
# 导入或输入示例数据[br][br] data1 <- read.csv("流量来源.csv") [br][br] # 默认显示图例[br][br] p1= [br][br] ggplot(data1, aes(x = 流量来源, fill = 流量来源)) + [br][br] geom_bar()+ [br][br] ggtitle("p1")+ # 图形标题[br][br] theme_bw() [br][br] p1[br][br][br][br][br][br][br][br][br][br][br] 图 6-2-3 默认柱形图
p3= [br][br] ggplot(data1, aes(x=流量来源, fill=流量来源 )) + [br][br] geom_bar( ) + [br][br] scale_fill_brewer(palette = "Set1") + [br][br] theme_bw()+ [br][br] theme(legend.position="none")+ [br][br] ggtitle("p3")[br][br] p3[br][br][br][br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-4 不显示图例的柱形图
p4= [br][br] ggplot(data1, aes(x=流量来源, fill=流量来源 )) + [br][br] geom_bar() + [br][br] scale_fill_grey(start = 0.25, end = 0.75) + [br][br] theme_bw()+ [br][br] theme(legend.position="none")+ [br][br] ggtitle("p4") [br][br] p4[br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-5 同色系柱形图
p5= [br][br] ggplot(data1, aes(x=流量来源, fill=流量来源 )) + [br][br] geom_bar( ) + [br][br] scale_fill_manual(values = c("#FF0000", "#008000", #0000FF","#FFFF00","#800080") ) [br][br] theme_bw()+ [br][br] theme(legend.position="none")+ [br][br] ggtitle("p5") [br][br] p5[br][br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-6 自定义颜色柱形图
# 数据输入[br][br] data <- data.frame( [br][br] group=c("A ","B ","C ","D ") , [br][br] value=c(33,62,56,67) , [br][br] number=c(100,500,459,342) [br][br] ) [br][br] #条形宽度设置[br][br] data$right <- cumsum(data$number) + 30*c(0:(nrow(data)-1)) [br][br] data$left <- data$right - data$number [br][br] # 绘图[br][br] ggplot(data, aes(ymin = 0)) + [br][br] geom_rect(aes(xmin = left, xmax = right, ymax = value, colour = group, fill = group)) + [br][br] xlab("number") + [br][br] ylab("value") + [br][br] theme_bw()+ [br][br] theme(legend.position="none")[br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-7 不同条形宽度的柱形图
gg1= [br][br] data2 %>% [br][br] arrange(val) %>% # 按 val 排序[br][br] mutate(name=factor(name, levels=name)) %>% [br][br] ggplot(aes(x=name, y=val)) + [br][br] geom_segment( aes(xend=name, yend=0)) + [br][br] geom_point( size=4, color="orange") + [br][br] coord_flip() + [br][br] theme_bw() + [br][br] xlab("") [br][br] gg1[br][br][br][br][br][br][br][br][br] [br][br][br][br][br] 图 6-2-8 水平棒棒糖图
gg2= [br][br] data2 %>% [br][br] arrange(name) %>% [br][br] mutate(name = factor(name, levels=c("north", "north-east", "east", "south-east", "south", [br][br] "south-west", "west", "north-west"))) %>% [br][br] ggplot( aes(x=name, y=val)) + [br][br] geom_segment( aes(xend=name, yend=0)) + [br][br] geom_point( size=4, color="orange") + [br][br] theme_bw() + [br][br] xlab("") [br][br] gg2[br][br][br][br][br][br][br][br][br][br][br] 图 6-2-9 柱形棒棒糖图
[br][b] (二)使用 barplot()绘制条形图[br][/b][br] barplot 函数可实现在 R 中构建条形图及自定义图表颜色、条形宽度、方向,[color=#0000ff]如图 6-2-10~图 6-2-17 [/color]所示。[br][br] # 输入数据[br][br] data1 <- data.frame( [br][br] name=letters[1:5], [br][br] value=sample(seq(4,15),5)[br] [br] )[br][br] # 同色条形图[br][br] barplot(height=data1$value, names=data1$name, col=rgb(0.2,0.4,0.6,0.6) )[br][br][br][br][br][br][br][br][br] 图 6-2-10 barplot 默认条形图
# 条形颜色不同[br][br] library(RColorBrewer) [br][br] coul <- brewer.pal(5, "Set2") #Set2 是函数自动的颜色库[br][br] barplot(height=data1$value, names=data1$name, col=coul )[br][br][br][br][br][br][br][br][br][br] 图 6-2-11 设置系统颜色的柱形图
# 空心条形图[br] barplot(height=data1$value, names=data1$name, border="#69b3a2", col="white" )[br][br][br][br][br][br][br][br][br][br][br] 图 6-2-12 空心柱形图
# 使用 xlab、ylab 和 main 进行自定义 y 轴值[br][br] barplot(height=data1$value, names=data1$name, [br][br] col=rgb(0.8,0.1,0.1,0.6), [br][br] xlab="categories", [br][br] ylab="values", [br][br] main="My title", [br][br] ylim=c(0,40) [br][br] )[br][br][br][br][br][br][br][br][br][br] 图 6-2-13 自定义 y 值的柱形图
#水平条形图[br][br] barplot(height=data1$value, names=data1$name, [br][br] col="#69b3a2",[br][br] horiz=T, las=1 [br][br] )[br][br][br][br][br][br][br][br][br][br] 图 6-2-14 水平条形图
# 空间位置不同的条形[br][br] barplot(height=data1$value, names=data1$name, col=rgb(0.2,0.4,0.6,0.6), [br][br] space=c(0.1,0.2,3,1.5,0.3) )[br][br][br][br][br][br][br][br][br] 图 6-2-15 条形空间不同的柱形图
# 条形宽度不同的条形图[br][br] barplot(height=data1$value, names=data1$name, col=rgb(0.2,0.4,0.6,0.6), [br][br] width=c(0.1,0.2,3,1.5,0.3) )[br][br][br][br][br][br][br][br][br][br] 图 6-2-16 条形宽度不同的柱形图
# 条纹填充的条形图[br][br] barplot( height=data1$value, names=data1$name , density=c(5,10,20,30,7) , [br][br] angle=c(0,45,90,11,36) , col="brown" )[br][br][br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-17 条纹填充的柱形图
[br][b] (三)分组和堆叠条形图/柱形图[/b][br][br] 前面所有示例都使用条形图展示了一个分类变量的变化。然而,我们经常同时对两个及多个分类变量感兴趣,因此,在单变量分组的基础上,学习多变量分组条形图,能够在不同维度上展示数据。具体方法是在 x 轴的每个位置绘制一组条形,由一个分类变量确定,然后根据另一个分类变量在每个组内绘制条形。[br] [br] 以下示例主要展示了分组数据可视化方法。[br] [br] library(ggplot2) [br][br] # 输入一个模拟数据[br][br] specie <- c(rep("sorgho" , 3) , rep("poacee" , 3) , rep("banana" , 3) , rep("triticum" , 3) ) [br][br] condition <- rep(c("normal" , "stress" , "Nitrogen") , 4) [br][br] value <- abs(rnorm(12 , 0 , 15)) [br][br] data <- data.frame(specie,condition,value) [br][br] 模拟输入的数据集必须有 3 个列,包括数值(value)以及组(spec)和子组(condition)[br]2 个分类变量,如图 6-2-18 所示。[br][br] # 绘图[br][br] ggplot(data, aes(fill=condition, y=value, x=specie)) + [br][br] geom_bar(position="dodge", stat="identity")+ [br][br] theme_bw()[br][br] [br][br][br][br][br][br] [br][br] 图 6-2-18 分组柱形图/条形图
[br] ● aes()参数设置中,fill 是子组(condition),x 是组(spec),y 是值(value)。[br][br] ● 在 geom_bar()参数中,position=“dodge”必须设置,以使条形图彼此相邻。[br][br] 堆叠的柱形图或条形图与上面的分组条形图、柱形图非常相似。子组只是显示在彼此的顶部,而不是旁边,如图 6-2-19 所示。绘制这个图,唯一需要改变的是将 position 参数修改为“stack”。[br] [br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-19 堆叠柱形图/条形图
# position 中参数"dodge" 切换为 “stack”[br][br] ggplot(data, aes(fill=condition, y=value, x=specie)) + [br][br] geom_bar(position="stack", stat="identity")+ [br][br] theme_bw() [br][br] 同样,切换到百分比堆叠 barplot 也简单,只需将 position 的参数改为“fill”。现在,每个子群体的百分比被表示出来,允许研究它们在整体中比例的变化,如图 6-2-20 所示。[br][br] # 绘图[br][br] ggplot(data, aes(fill=condition, y=value, x=specie)) + [br][br] geom_bar(position="fill", stat="identity")[br][br][br][br][br][br][br][br][br][br] 图 6-2-20 百分比堆叠柱形图/条形图
通常情况下,还需要对图做一些必要的修改,以使图表看起来更好和个性化,如图 6-2-21[br]所示。例如:[br][br] ● 添加标题 title;[br][br] ● 自定义图表格式 theme;[br][br] ● 自定义图形颜色;[br][br] ● 自定义轴[br][br] # library [br][br] library(ggplot2) [br][br] library(viridis) [br][br] library(hrbrthemes) [br][br] library(gcookbook) [br][br] # 绘图[br][br] ggplot(data, aes(fill=condition, y=value, x=specie)) + [br][br] geom_bar(position="stack", stat="identity") + [br][br] scale_fill_viridis(discrete = T) + [br][br] ggtitle("Studying 4 species") + [br][br] theme_ipsum(base_family = "") + [br][br] xlab("")[br][br][br][br][br][br][br][br][br][br][br][br] 图 6-2-21 堆叠条形图/柱形图
此外,使用 facet_wrap()功能,可以多图显示分组数据比较的意义,[color=#0000ff]如图 6-2-22[/color] 所示。[br][br] # 绘图[br][br] ggplot(data, aes(fill=condition, y=value, x=condition)) + [br][br] geom_bar(position="dodge", stat="identity") +[br][br][br][br][br][br][br][br][br][br][br] 图 6-2-22 分组显示的条形图/柱形图
scale_fill_viridis(discrete = T, option = "E") + [br][br] ggtitle("Studying 4 species..") + [br][br] facet_wrap(~specie) + [br][br] theme_ipsum(base_family = "") + [br][br] theme(legend.position="none") + [br][br] xlab("")[br][br]

Information: 一、描述变量分类的可视化图形