Dear Duncan Many thanks for this; actually the vector solution works much better. Best, Maria
Στις 12:27 μ.μ. Δευτέρα, 20 Νοεμβρίου 2017, ο/η Duncan Murdoch <murdoch.dun...@gmail.com> έγραψε: On 20/11/2017 7:09 AM, Maria Lathouri wrote: > Dear all, > > I am really sorry for this. I have attached the script and a .csv file > with an example. The problem is that you have dat as a matrix with only one row. barplot() applies the colours to the rows of dat; since you have only one row, everything ends up blue. You can fix this by creating dat as a vector using dat<-c(Emission_from_Land, Emission_from_Access_Road, Emissions_from_well_pad) or by using "beside = TRUE" in the arguments to barplot. These will give similar but slightly different results; I don't know which one is better for you, but I like the vector solution better. Duncan Murdoch > > Hope this will help. > > Many thanks, > Maria > > > Στις 11:53 π.μ. Δευτέρα, 20 Νοεμβρίου 2017, ο/η Duncan Murdoch > <murdoch.dun...@gmail.com> έγραψε: > > > On 20/11/2017 6:38 AM, Maria Lathouri via R-help wrote: > > Dear all > > I know that it is a very simple question but it seems that I cannot > change the colour in the bars. > > I have the following dataframe: > > A B C D E > F G 0.0.24 152460 > 474 5.5 612000 59061000 1540313 > > and here is the script: > > setwd("~/Desktop") > > emission<-read.csv("emission from land.csv") > > attach(emission) > > #define the formulas > > > Emission_from_Land<-A*B*C*DEmission_from_Access_Road<-E*(F/1000000)*CEmissions_from_well<-(G/1000000)*E*C > > #combine my outputs into a new dataframe > > dat<-cbind(Emission_from_Land, Emission_from_Access_Road, > Emissions_from_well_pad) > > #plot a barplot > > barplot(dat, ylab="Kg-CO2 Eq", ylim=c(0.0e+00, 2e+10), > axisnames=FALSE, col=c("blue", "red", "orange"), > > main ="Well Site Construction Emissions", > legend.text=c("Land", "Access", "Well"), > > args.legend = list(x="bottom", horiz="TRUE", bty="n", > inset=c(-0.5, -0.25))) > > When I add the col= argument, the colour changes in the legend but > not the actual bars in the plot. I don't know what I am doing wrong. I > know that I am missing something but I cannot figure it out. > > I would very much appreciate for your help. > > We don't have your data, so we can't reproduce that plot. But when I do > the following, I see three colours: > > dat <- matrix(1:9, ncol=3)*0.5e9 > par(mfrow=c(2,2)) > > barplot(dat, ylab="Kg-CO2 Eq", ylim=c(0.0e+00, 2e+10), axisnames=FALSE, > col=c("blue", "red", "orange"), > main ="Well Site Construction Emissions", > legend.text=c("Land", "Access", "Well"), > args.legend = list(x="bottom", horiz="TRUE", bty="n", > inset=c(-0.5, -0.25))) > > > So you'll need to give us a reproducible example if you want help. > > Duncan Murdoch > > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.