簡體   English   中英

GGPLOT2:兩個離散變量列的堆積條形圖

[英]GGPLOT2: Stacked bar plot for two discrete variable columns

我有一個包含三列(一個分類列和兩個離散變量列)的數據集。 我想制作一個堆積條形圖來比較每個類別的兩個離散變量的值。 但是,我得到連續着色而不是離散顏色。

可重現的代碼

sampleData <-  data.frame(grp = c("A","B", "C"),
                          var_1 = c(15,20, 25),
                          var_2 = c(12, 13, 20))
sampleData

p <- ggplot(sampleData, aes(x = grp, y = var_1, fill= var_2)) +
  geom_bar( stat="identity", position = "fill")+
  coord_flip()+ theme_bw()
p

上述代碼的輸出

相反,我想要的是

預期產出

* Var2將始終小於特定類別的對應Var1值。

謝謝您的幫助!

你的問題是你還沒有把你的小標題從寬改成長。

FixedData <- sampleData %>%
  pivot_longer(cols = c("var_1", "var_2"), names_prefix = "var_", 
               names_to = "Variable Number", values_to = "ValueName")

一旦你這樣做了,問題就會變得更容易解決。 您只需要更改一些東西,最值得注意的是yfillposition變量以使其工作。

p2 <- ggplot(FixedData, aes(x = grp, y = ValueName, fill = `Variable Number`)) +
  geom_bar(stat="identity", position = "stack")+
  coord_flip()+ theme_bw()

p2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM