繁体   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