I am currently working on a dataframe and I want to make a barplot in which every cloumn is related to a variable, and I want to assign to each column (each bar of the barplot) an specific color, different than the predefined color assigned by ggplot
.
This is my dataframe
Abstencion PP PSOE IU UPyD Ahora.madrid Ciudadanos Year
1 40.86 27.79 20.20 5.72 0.00 0.00 0.00 a91
2 28.87 37.35 19.62 11.02 0.00 0.00 0.00 a95
3 39.94 29.54 21.49 5.17 0.00 0.00 0.00 a99
4 31.07 35.21 25.18 4.95 0.00 0.00 0.00 a03
5 34.09 36.48 20.28 5.69 0.00 0.00 0.00 a07
6 32.78 32.79 15.79 7.09 5.18 0.00 0.00 a11
7 31.15 23.62 10.44 1.16 1.25 21.76 7.81 a15
The columns of the dataset are actually political parties in my country, so I want to produce a barplot depending on the year, in which each column should be plotted in the colour of the political party.
I already designed the color vector:
col <- c("black","dodgerblue","firebrick1","chartreuse3",
"deeppink","darkorchid3","darkorange1")
And I developed this code to do the barplots (suppose my dataframe is X)
library(ggplot2)
library(reshape2)
a <- X[1,]
a.molten <- melt(a, value.name="Votes", variable.name="Party")
#Eliminar los partidos politicos que sacaron 0 votos
a.molten <- a.molten[-which(a.molten$Votes==0),]
ggplot(a.molten, aes(x=Party, y=Votes, fill=Party)) + geom_bar(stat="identity")
changing the parameter from a <- X[i,]
will produce the barplots for each year, but now I am stuck on assigning each party its color from the vector "col."