开始使用免费开始使用

驾驭 geom_bar

geom_col() 需要您传入一个映射到 y 轴的列,而 geom_bar() 则不接收 y 轴映射(至少在默认情况下如此)。

相反,geom_bar() 会根据您提供的 x 轴映射,对每个类别统计每条观测(或传入数据框的每一行)的数量,然后绘制相应高度的柱子。

下面这两段代码会生成相同的图:

# geom_col()
data %>%
  groupby(xAxisCol) %>%
  summarize(value = n()) %>%
  ggplot(aes(x = xAxisCol, y = value) + 
  geom_col()

# geom_bar()
data %>%
  ggplot(aes(x = xAxisCol)) +
  geom_bar()

让我们使用 geom_bar(),基于 WHO 数据按地区查看病例数较大的观测。

本练习是课程的一部分

R 中的可视化最佳实践

查看课程

练习说明

  • 使用 filter()who_disease 过滤为仅包含病例数大于 1000 的观测(行)。
  • 将 x 轴映射到 region 列。
  • 在图形对象上添加 geom_bar() 来绘制柱形。

交互式实操练习

通过完成这段示例代码来试试这个练习。

who_disease %>%
	# filter data to observations of greater than 1,000 cases
	___ %>%
	# map the x-axis to the region column
	ggplot() +
	# add a geom_bar call
	___
编辑并运行代码