簡體   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