在一个图中根据不同的列制作两个geom_bar()图。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个图中根据不同的列制作两个geom_bar()图。相关的知识,希望对你有一定的参考价值。
我有一个数据框架,看起来像这样。
Year Women Men
1 2013 145169 889190
2 2014 119064 849778
3 2015 210107 1079592
4 2016 221217 1427639
5 2017 205000 1692592
6 2018 273721 1703456
7 2019 434407 2010493
我想做一个geom_bar,其中x是一年,每一年都有两个条形的数字,分别来自女性和男性。我已经找到了一个解决方案,这个表应该看起来不同,但我想知道,如果有一个选项与这个工作。谢谢你的任何帮助:)
答案
您可以使用以下代码
library(tidyverse)
df %>%
pivot_longer(cols = -c(Year,Sl), values_to = "Value", names_to = "Name") %>%
ggplot(aes(x = Year, y = Value, fill = Name))+geom_col(position = "dodge")
数据
df = structure(list(Sl = 1:7, Year = 2013:2019, Women = c(145169L,
119064L, 210107L, 221217L, 205000L, 273721L, 434407L), Men = c(889190L,
849778L, 1079592L, 1427639L, 1692592L, 1703456L, 2010493L)), class = "data.frame", row.names = c(NA,
-7L))
以上是关于在一个图中根据不同的列制作两个geom_bar()图。的主要内容,如果未能解决你的问题,请参考以下文章
如何在时间序列图中使用 geom_bar stat="identity" 设置 Bin Width?