【发布时间】:2018-06-30 01:19:59
【问题描述】:
我有一个数据框,其中包含 15 家不同银行的两个独立月份的最小值。
我想要比较每家银行的最小值的条形图。我希望每个银行实现两个条形图,因为有两个最小值,每个条形图具有相同的颜色,但每个银行具有不同的颜色。
这样,如果 bank1 将自己标识为蓝色,则条形将为蓝色,如果 bank1 标识为绿色,则条形将均为绿色。
我尝试了以下代码,结果是这样。
library(ggplot2)
bank <- paste0("bank", c(1:15))
month1 <- c(-0.0750,-0.0350,-0.0250,0.0025,-0.0325,-0.0175,-0.0575,0.0025,-0.0775,-0.0050,-0.0275,-0.0550,-0.3700,-0.0475,-0.0100)
month2 <- c(-0.0775,0.0100,0.0075,-0.0225,0.0075,-0.0075,-0.0125,-0.0825,-0.0150,0.0050,-0.0025,-0.0750,-0.0050,-0.0750,0.0025)
values <- data.frame(bank, month1, month2)
values_gather <- gather(data = values, key = "month", value = "value", -1)
ggplot(values_gather, aes( x = bank, y = value, fill = bank )) +
geom_bar(stat = "identity", position = "dodge") +
theme_bw() +
theme(axis.text.x = element_text(angle = 60, hjust = 1))
然后我尝试了这个,这不是我想要的,但没有围绕条的那些不受欢迎的颜色。
ggplot(values_gather, aes( x = bank, y = value, fill = bank, color = month)) +
geom_bar(stat = "identity", position = "dodge") +
theme_bw() +
theme(axis.text.x = element_text(angle = 60, hjust = 1))
那么我如何才能使条形图的每个最小值都有一个条形,两个条形的颜色相同,而每个银行的颜色不同?
【问题讨论】:
-
条是用填充而不是颜色着色的——在您的第一次通话中,您在
aes中使用了fill = bank。所以你需要scale_fill_*,其中*是“离散”、“手动”等。