Reputation: 9018
Currently the default colors for the below bar chart are Apct = Red , BPct = Green, CPct = Blue.
How do I change the color so that Apct = Purple, BPct = Black, CPct = Red?
Here is the working code:
library(reshape)
Time<-data.frame(Time = c(as.POSIXct("2015-02-05 14:35:00"), as.POSIXct("2015-02-05 14:40:00")))
APct<-c(.1,.2,.7)
BPct<-c(.2,.4,.4)
Time
data<-cbind(Time, rbind(APct, BPct))
data
colnames(data)<-c("Time", "APct","BPct","CPct")
rownames(data)<- NULL
data
data<-melt(data, measure.vars =c("APct","BPct","CPct") )
ggplot(data=data, aes( x = Time, y=value, fill=variable)) +
geom_bar(stat="identity") +
ggtitle("% ") + xlab("Time") +
ylab("Percentage") +theme(axis.text.x = element_text(angle = 90, hjust = 1))
Also -
How do I know that purple will go with Apct? Is it alphabetically ordered or can I manaually set something liek Apct = Purple?
Also is there a way to make it so the Cpct is always the bottom bar, BPCt the middle bar and APct the top bar?
Thank you.
Upvotes: 2
Views: 4620
Reputation: 2136
you can use scale_fill_manual
to control the colours.
So your call to ggplot becomes
ggplot(data=data, aes( x = Time, y=value, fill=variable)) +
geom_bar(stat="identity") +
ggtitle("% ") + xlab("Time") +
ylab("Percentage") +theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
scale_fill_manual(values=c("purple","black","red"))
Upvotes: 3