在一个图中根据不同的列制作两个geom_bar()图。

问题描述 投票:0回答:1

我有一个数据框架,看起来像这样。

 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是一年,每一年都有两个条形的数字,分别来自女性和男性。我已经找到了一个解决方案,这个表应该看起来不同,但我想知道,如果有一个选项与这个工作。谢谢你的任何帮助:)

r ggplot2 geom-bar
1个回答
1
投票

您可以使用以下代码

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")

enter image description here

数据

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))
© www.soinside.com 2019 - 2024. All rights reserved.