簡體   English   中英

Ggplot 與 facet_wrap 並填寫 R

[英]Ggplot with facet_wrap and fill in R

我有每個專業和每個合同類型的產品數據集。

我想草擬每個專業和每個合同類型的產品數量。 我想查看每個合約的每個專業的單獨圖表(使用 facet_wrap)和單獨的條形圖(具有不同顏色)。

到目前為止,這是我所擁有的,但“按合同”部分不起作用。 我究竟做錯了什么?

spec <- c(rep(1, 5), rep(2,5), rep(3,5))
prod <- c(rep(15, 3), rep(22, 5), rep(35,2), rep(44, 5))
contract <- sample(c(0,1), replace=TRUE, size=15)

dat <- data.frame(spec=spec, prod=prod, contract = contract)

library(ggplot2)
ggplot(dat, aes(prod), fill=contract) +
  geom_bar(position="dodge")+
  facet_wrap(~spec, scales="free")

首先,您應該將輸入值轉換為因子,因為這些是離散值。 這可以通過factor()獲得。

ggplot()函數中,如果您想為每個合約設置條形,則必須使用aes(x = contract)並在aes() fill = prod以按產品分組。

如果我理解您的規范是正確的,此代碼應該為您提供所需的解決方案:

library(ggplot2)

spec <- c(rep(1, 5), rep(2,5), rep(3,5))
prod <- c(rep(15, 3), rep(22, 5), rep(35,2), rep(44, 5))
contract <- sample(c(0,1), replace=TRUE, size=15)

dat <- data.frame(spec=factor(spec), 
                      prod=factor(prod), 
                      contract = factor(contract))


ggplot(dat) +
  geom_bar(aes(contract, fill=prod), position = "dodge")+
  facet_wrap(~spec, scales="free")

暫無
暫無

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

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