希望根据某列中的值为我的ggplot设置两种不同的颜色方案。
这是我的数据:
itemName = c("item1", "item2", "item3", "item4","item5", "item1", "item2", "item3", "item4", "item5")
MPindex = c(124, 118, 101, 112, 126, 124, 118, 101, 112, 126)
code = c("A", "A", "A", "A", "B", "A", "A", "A", "A", "B")
topTwo = c(55.6, 53,45.2, 50.2, 56.2, 55.6, 53, 45.2, 50.2, 56.2)
variable = c(4, 4, 4, 4, 4, 5, 5, 5, 5, 5)
value = c(37.2, 36.2, 31.4, 31.2, 34.2, 18.4, 16.8, 13.8, 19, 22)
testNew<-data.frame(itemName,MPindex,code,topTwo,variable,value)
这与我想要的图表一样接近:
我想要的是,代码==“B”的项目具有不同的scale_fill_manual值。请注意,条形图的顺序可能会发生变化,而itemNames可能会发生变化,因为这在闪亮的应用程序中是被动的,所以不是手动将item5条设置为不同,我真的需要它离开“代码”列。
目前的图代码:
p14 = ggplot(data = testNew, aes(x=reorder(itemName,-MPindex),y=value,fill=variable))+blank_theme+
geom_bar(stat="identity")+geom_text(aes(label=paste(value,"%")),vjust=1.2,colour='white')+theme(axis.text.x = element_text(angle = 45,hjust=1.00,vjust = 1.15))+
xlab("")+scale_fill_manual(values = c("#33CCCC","#00A499"))
blank_theme <- theme_minimal()+
theme(
axis.text.y = element_blank(),
axis.title.y = element_blank(),
panel.border = element_blank(),
panel.grid=element_blank(),
axis.ticks = element_blank(),
plot.title=element_text(size=14, face="bold")
)
p14
我希望代码==“B”项始终具有scale_fill_manual(values = c(“lightgrey”,“gray”)。
提前致谢! :)