[R] Highlight selected bar in barplot

Jim Lemon jim at bitwrit.com.au
Thu Aug 1 11:21:09 CEST 2013


On 08/01/2013 12:57 AM, Jurgens de Bruin wrote:
> Hi All,
>
> I am new at R so any help would be appreciate.
>
> Below my current R-code/script:
>
> initial.dir<-getwd()
> setwd('/Users/jurgens/VirtualEnv/venv/Projects/QTLS/Resaved_Results')
> dataset<- read.table("LWxANNA_FinalReport_resaved_spwc.csv", header=TRUE,
> sep="\t" )
> n<- length(dataset$X..No.Call)
> x<- sort(dataset$X..No.Call,partial = n )[n]
>
> outlier<- dataset[ dataset$X..No.Call>  quantile(dataset$X..No.Call,0.25)
> + (IQR(dataset$X..No.Call) *1.5),]
>
> par( las=2,  cex.axis=0.5, cex.lab=1, cex.main=2, cex.sub=1)
> barplot(dataset$X..No.Call, names.arg = dataset$Individual.Sample,
> cex.names=0.5 ,space=0.5, ylim=c(0,x*1.5) )
> setwd(initial.dir)
>
> I would like to highlight the sample in outlier on the barplot that is
> create, would this be possible?
>
Hi Jurgens,
Even without the data, I think that what you mean by "highlight" is the 
major point of confusion. If you have five bars in the resulting barplot 
and the third one is the one you want to highlight, you could do this:

barplot(...,col=c(NA,NA,"red",NA,NA),...)

You would then have four empty bars and one "highlighted" in red. You 
could put an asterisk in the center of the third bar:

barpos<-barplot(...)
text(barpos[3],dataset$X..No.Call[3]/2,"*")

Just depends upon how you want to highlight the bar in question.

Jim



More information about the R-help mailing list