簡體   English   中英

R:GGPlot中具有兩個單獨類別的堆疊垂直條形圖

[英]R: Stacked Vertical Bar graph with two separate categories in GGPlot

我正在嘗試生成一個堆疊的垂直條形圖,但是我不確定如何重塑數據集以滿足ggplot的期望。

我有一個數據框,其中有兩列“ killed”和“ injured”,每列都與一個州名稱關聯。 我想要一個垂直條形圖,其中每個狀態都#受傷的狀態堆疊在#killed的頂部。

我可以生成標准的條形圖,如下所示:

ggplot(data=data, aes(x=state,y=killed)) + 
  geom_bar(position="dodge",stat="identity") + 
  coord_flip() +
  ggtitle("Mass Shooting Killings and Injuries") + 
  labs(x="Killings and Injuries", y="State") +
  ggtitle("Victims")

我知道“堆疊”條形圖的方法是向ggplot外觀添加填充組件,但是問題是我不確定如何以適合我的數據的方式進行填充。

偽造的可復制示例:

data <- read.table(text = "state killed injured 
1 Arkansas 23 50 
2 Alabama 10 20
3 Texas 19 18
4 Ohio 14 15
5 Illinois 3 5", sep = "", header=T)

library(ggplot2)
library(reshape)
ggplot(data=data, aes(x=state,y=killed)) + 
  geom_bar(position="dodge",stat="identity") + 
  coord_flip() +
  ggtitle("Mass Shooting Killings and Injuries") + 
  labs(x="Killings and Injuries", y="State") +
  ggtitle("Victims")

在此處輸入圖片說明

我必須使用melt重塑data.frame以獲得此圖:

temp <- melt(data, id="state")
ggplot(data=temp, aes(x=state,y=value, fill=variable)) + 
  geom_bar(position="stack",stat="identity") + 
  coord_flip() +
  ggtitle("Mass Shooting Killings and Injuries") + 
  labs(x="Killings and Injuries", y="State") +
  ggtitle("Victims")

在此處輸入圖片說明

暫無
暫無

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

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