I have a data.frame mentioned in this post below. I would like to fill a geom_bar ggplot, and add a second column with position = "dodge" keeping the same fill.
Is it posible?
Thanks
Data:
e11 <- data.frame(stringsAsFactors=FALSE,
Data = c("NSY", "NSY", "NSY", "NSY", "NSY", "NSY", "NSY", "NSY", "NSY",
"NSY", "NSY", "NSY", "IEA", "IEA", "IEA", "IEA", "IEA", "IEA",
"IEA", "IEA", "IEA", "IEA", "IEA", "IEA"),
pollutant = c("CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO",
"CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO",
"CO", "CO", "CO", "CO"),
veh = c("Bus", "Bus", "LCV", "LCV", "MC", "MC", "PC", "PC", "Trucks",
"Trucks", "Taxi", "Taxi", "Bus", "Bus", "LCV", "LCV", "MC",
"MC", "PC", "PC", "Trucks", "Trucks", "Taxi", "Taxi"),
province = c("Anshan", "Baicheng", "Anshan", "Baicheng", "Anshan",
"Baicheng", "Anshan", "Baicheng", "Anshan", "Baicheng",
"Anshan", "Baicheng", "Anshan", "Baicheng", "Anshan", "Baicheng",
"Anshan", "Baicheng", "Anshan", "Baicheng", "Anshan", "Baicheng",
"Anshan", "Baicheng"),
V1 = c(2056951311, 821731458, 6172501, 2603243, 86352447, 103963364,
31727831557, 18939503839, 6479654273, 2969730580, 649016656,
398757325, 1532636252, 594877413, 3490977, 1481795, 61479188,
74017395, 22588836597, 13484103276, 3426409302, 1573954393,
462071641, 283897878)
)
ggplot(e11,
aes(x = province, y = V1,
fill = veh)) +
geom_bar(stat = "identity") +
# facet_wrap(~Data)+
theme(axis.text.x = element_text(angle = 90, hjust = 1, colour = "black"),
legend.key.size = unit(1,"line"),
text = element_text(size=20),
legend.position = "bottom",
axis.text.y = element_text(colour = "black"))
ggplot(e11,
aes(x = province, y = V1)) +
geom_bar(stat = "identity", position = "dodge", aes(fill = Data)) +
# facet_wrap(~Data)
theme(axis.text.x = element_text(angle = 90, hjust = 1, colour = "black"),
legend.key.size = unit(1,"line"),
text = element_text(size=20),
legend.position = "bottom",
axis.text.y = element_text(colour = "black"))
I`m looking for something like this: Third Plot
e11$Veh <- paste(e11$province, e11$Data)
ggplot(e11,
aes(x = Veh,
y = V1,
fill = veh)) +
geom_bar(stat = "identity") +
# facet_wrap(~Data)
theme(axis.text.x = element_text(angle = 90, hjust = 1, colour = "black"),
legend.key.size = unit(1,"line"),
text = element_text(size=20),
legend.position = "bottom",
axis.text.y = element_text(colour = "black"))
PD: As imgur is censored in China, Im using GitHub links to show the pictures to Chinese and other users where imgur is blocked
I think this is near what I what and might help other to evolve
ggplot(e11,
aes(x = Data, y = V1,
fill = veh)) +
geom_bar(stat = "identity") +
labs(x = NULL, y = NULL)+
facet_wrap(~province, nrow = 1)+
theme_bw()+
theme(axis.text.x = element_text(hjust = 1, angle = 90, colour = "black"),
legend.key.size = unit(1,"line"),
text = element_text(size=22),
legend.position = "bottom",
axis.text.y = element_text(colour = "black"),
strip.text.x = element_text(size = 18, angle = 90),
panel.spacing = unit(0, "lines"))
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.