重新排序 barplot(ggplot2) 中的 x 轴,其中数据按 2 个变量分组
Reordering x axis in barplot(ggplot2) where data is grouped on 2 variables
在探索 R 中的 mpg 包时,我想绘制一个条形图,x 变量为 class,y 变量为 class 的频率值,然后用 cyl 堆叠这些条形图.
所以,我首先将数据集按 class 和 cyl 分组,然后为每组添加 freq。
class_count <-
mpg %>%
group_by(class,cyl) %>%
summarize(freq = n())
class_count %>%
ggplot(aes(reorder(class,freq), freq, fill = cyl)) +
geom_bar(stat= "identity")
我希望数据按升序排列,但在最后的情节中超紧凑条出现在前面
如下图取货-
上面给出的代码的条形图
请帮我找到解决办法。
reorder
仅根据 freq
对条形进行排序,而不考虑 class
。使用 fct_reorder
library(ggplot2)
ggplot(class_count,
aes(forcats::fct_reorder(class, freq, sum), freq, fill = cyl)) +
geom_col() + xlab('class')
在探索 R 中的 mpg 包时,我想绘制一个条形图,x 变量为 class,y 变量为 class 的频率值,然后用 cyl 堆叠这些条形图.
所以,我首先将数据集按 class 和 cyl 分组,然后为每组添加 freq。
class_count <-
mpg %>%
group_by(class,cyl) %>%
summarize(freq = n())
class_count %>%
ggplot(aes(reorder(class,freq), freq, fill = cyl)) +
geom_bar(stat= "identity")
我希望数据按升序排列,但在最后的情节中超紧凑条出现在前面 如下图取货-
上面给出的代码的条形图
请帮我找到解决办法。
reorder
仅根据 freq
对条形进行排序,而不考虑 class
。使用 fct_reorder
library(ggplot2)
ggplot(class_count,
aes(forcats::fct_reorder(class, freq, sum), freq, fill = cyl)) +
geom_col() + xlab('class')