一张图片说的千言万语。如您所见,我的fill
基于变量variable
。
在每个条形图中,有多个数据实体(黑色边框),因为离散变量complexity
使它们成为唯一的。我想要找到的东西使得酒吧的每个部分比当前的外观更加可辨。如果它像阴影那样是优选的。
这是一个示例(不同的数据集,因为导入了原始数据集):
dat <- read.table(text = "Complexity Method Sens Spec MMC
1 L Alpha 50 20 10
2 M Alpha 40 30 80
3 H Alpha 10 10 5
4 L Beta 70 50 60
5 M Beta 49 10 80
6 H Beta 90 17 48
7 L Gamma 19 5 93
8 M Gamma 18 39 4
9 H Gamma 10 84 74", sep = "", header=T)
library(ggplot2)
library(reshape)
short.m <- melt(dat)
ggplot(short.m, aes(x=Method, y= value/100 , fill=variable)) +
geom_bar(stat="identity",position="dodge", colour="black") +
coord_flip()
答案 0 :(得分:27)
这远非完美,但希望是朝着正确的方向迈出的一步,因为它被variable
躲过了,但仍然设法以某种方式代表Complexity
:
ggplot(short.m, aes(x=Method, y=value/100, group=variable, fill=variable, alpha=Complexity,)) +
geom_bar(stat="identity",position="dodge", colour="black") +
scale_alpha_manual(values=c(0.1, 0.5, 1)) +
coord_flip()
答案 1 :(得分:1)
很难确定没有可重现的例子,正如Chase所说,但添加alpha=complexity
可能会有效:
ggplot(short.m, aes(x=Method, y= value/100 , fill=variable, alpha=complexity)) +
geom_bar(stat="identity",position="dodge", colour="black") + coord_flip()
答案 2 :(得分:0)
您可能需要将Method
和variable
因素分开。这有两种方法:
使用facet_wrap()
:
ggplot(short.m, aes(x=variable, y=value/100, fill=Complexity)) +
facet_wrap(~ Method) + geom_bar(position="stack", colour="black") +
scale_alpha_manual(values=c(0.1, 0.5, 1)) + coord_flip()
在x轴上使用两者:
ggplot(short.m, aes(x=Method:variable, y=value/100, group=Method, fill=variable, alpha=Complexity,)) +
geom_bar(stat="identity", position="stack", colour="black") +
scale_alpha_manual(values=c(0.1, 0.5, 1)) + coord_flip()