簡體   English   中英

堆疊條形圖 R 中的順序

[英]Order in stacked barplot R

我有以下數據框,沒什么可看的。

df_bar<-data.frame(capacity = c(no[2],no[1]-no[2],max(df_l$load)-no[1]), type = c("Nuclear","Coal","Gas"),a = c("Optimal","Optimal","Optimal"))

在此處輸入圖片說明

我試圖通過 ggplot 創建一個堆疊的條形圖,但我還需要確保我在該圖中有一個特定的順序,N 離軸最近,C 最遠。 然而,簡單的代碼導致了這一點。

ggplot(df_bar, aes(y=capacity, x=a, fill=type)) + 
geom_bar(position="stack", stat="identity")

在此處輸入圖片說明

我怎樣才能改變代碼以使其符合我需要的順序?

1.創建一個最小的可重現示例

df_bar<-data.frame(capacity = c(2,2,2),
                   type = c("Nuclear","Coal","Gas"),
                   a = c("Optimal","Optimal","Optimal"))

ggplot2在繪圖時尊重有序因子的順序。 我們可以利用它來發揮我們的優勢:

library(ggplot2)
ggplot(df_bar, aes(y=capacity, x=a, fill=factor(type, levels=c( "Coal", "Gas", "Nuclear")))) + 
  geom_bar(position="stack", stat="identity") +
  labs(fill="type")

在此處輸入圖片說明

暫無
暫無

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

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