簡體   English   中英

ggplot2的堆疊條形圖取決於兩個變量

[英]Stacked barplot with ggplot2 depending on two variables

我正在嘗試使用ggplot2創建一個堆積的條形圖,該條形圖應表示每個用戶的操作數,分為“單擊”或“關閉”。

數據如下所示:

ID;User;All;clicked;dismissed
1;andre;3;3;0
2;bianca;23;14;9
3;corinna;51;31;20
4;pfeifer;8;7;1

在下面找到一些我目前使用的方法以及一些示例數據,這些方法到目前為止一直沒有用。

在此處輸入圖片說明

# Load data
Temp <- read.csv("http://pastebin.com/raw.php?i=LtYsjY89", header = TRUE, stringsAsFactors=FALSE, sep = ";")
# Load package
library(ggplot2)
# Plot
ggplot(Temp, aes(x=User, fill=All)) +
geom_bar() + 
scale_fill_gradient("Count", low = "green", high = "red") 

如您所見。...“全部”變量的總數已應用。 我想要實現的目標:應該為每個用戶創建一個堆疊的條,該條使用“單擊”和“關閉”值來表示“全部”變量的分區。 因此,“單擊”和“關閉”的條形部分應具有不同的顏色。
類似的方法建議融合數據(從寬到長),但是我看不到用例的好處。

您確實需要融合數據(根據@Gregor的評論)。 原因是要將“單擊”和“關閉”映射到顏色,您需要一個單獨的列來標記哪些計數來自“單擊”,哪些來自“關閉”。 創建該列的方式是融合為長格式。

library(reshape2)

Temp.m = melt(Temp, id.var=c("ID","User","All"))

# Plot
ggplot(Temp.m, aes(x=User, y=value, fill=variable)) +
  geom_bar(stat="identity")

在此處輸入圖片說明

暫無
暫無

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

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