繁体   English   中英

使用ggplot在r中堆叠条形图

[英]stacked barplot in r using ggplot

这些是我的问题:

  1. 如何将堆叠的颜色更改为更显眼的颜色。
  2. 在堆叠上添加值
  3. 修改我的图例和图例的名称。

到目前为止,我真的尝试了所有方法,并且还查看了堆叠条形图上的几乎所有视频,但无法做到。 我缺少一些东西。
我将非常感谢您的帮助。


datt <- read.table(text = " Architektur   Biologie   Mathematik                       
Baden-Württemberg             4342     7109       7909
Bayern                        4377     7295       7014
Berlin                        2929     2969       3449
Brandenburg                   1148      982        825
Bremen                         427      877        738
Hamburg                        574     1513        506
Hessen                        5155     4426       7617
Mecklenburg-Vorpommern         445     1468        537
Niedersachsen                 3102     5353       5464
Nordrhein-Westfalen           9453    14356      18247
Rheinland-Pfalz               1916     2907       3235
Saarland                       296      381        334
Sachsen                       1182     1354       1521
Sachsen-Anhalt                 758      543        349
Schleswig-Holstein             438     1239       1336
Thüringen                     1796      921        445                
" , header = TRUE)


library(reshape2)
#Zeile
datt$row <- seq_len(nrow(datt))
#
ww<- melt(datt, id.vars = "row")
ww
library(ggplot2)

ggplot(ww , aes(x = variable, y = value, fill = row) ) + 
  geom_bar( stat = "identity") +
  xlab("\nStudienfach WS2019/20") + ylab("Absolute Häufigkeit\n")  +
 
 ggtitle("Drei Studiengängen in den verschiedenen Bundesländern WS2019/22")+
  theme(plot.title = element_text(hjust=0.5))
+ geom_text(size=3,position = position_stack(vjust = 0.5)) 

条形图的图片

通过查看您的数据,您应该使用行名称作为分类变量而不是行,这将被视为具有渐变填充的数字变量。 这将自动使颜色更加“分离”,尽管您将始终使用 16 个项目进行有限的颜色分离。 它还将适当地标记您的图例。

要为每个段添加标签,只需将aes(label = value)添加到geom_text

要将填充比例的名称更改为“Bundesländ”,请使用labs(fill = "Bundesländ")

library(reshape2)
library(ggplot2)

ggplot(melt(within(datt, row <- row.names(datt)), id.vars = "row"), 
       aes(x = variable, y = value, fill = row)) + 
  geom_col(size = 0.5, col = "gray50") +
  geom_text(aes(label = value), size = 3,
            position = position_stack(vjust = 0.5)) +
  xlab("\nStudienfach WS2019/20") + 
  ylab("Absolute Häufigkeit\n") +
  labs(fill = "Bundesländ") +
  ggtitle("Drei Studiengängen in den verschiedenen Bundesländern WS2019/22") +
  theme_bw(base_size = 16) +
  theme(plot.title = element_text(hjust = 0.5))

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM