Hello,
I have got another problem.
I wrote a function which is able to create plots with different numbers of
bars.
In order to give them a similar look I determined the width of the bars
using the parameters
width=0.59
AND
ylim=c(0,10))
(see function below)
Now, this only works if I have just got up to 6 double bars. In the
following example it doesn't work because the bars for the line "Tab
der
offe;9;11" are missing.
I would like to be able to create the plots up to more double bars (maybe 9
or so).
Does anyone know the ansers to this problem?
Thanks a lot in advance!!
Marion
function:
My .csv file " abb7ctreff " looks like this:
;bisher;in Zukunft
persönl Ges;55;24
andere Vera;45;23
Elternabende;39;26
Gespräche;18;11
persönl ;16;4
Schulunterr;14;9
Tag der offe;9;11
mw_g_2balk <- function(pfad="F:/04 Archiv/04 Programme/19
R_Syntaxe/Grafiken_Funktionen",abb="abb3",skala="prozent")
{
setwd(pfad)
postscript(file=paste(abb,".eps",sep=""))
dat<-read.csv2(paste(abb,".csv",sep=""),header=T,check.names=F)
dat1<-t(as.matrix(dat[,2:3],nrow=2))
colnames(dat1)<-dat[,1]
zehn<-seq(10,10000000,10)
xmax<-max(dat1)
ind<-min(which(zehn>=xmax))
zehnind<-zehn[ind]
ticks<-seq(0,zehnind,10)
par(las=1)
par(mar=c(5,4.5+0.3529412*(max(nchar(colnames(dat1)))-1),1,1))
barplot(dat1,width=0.59,horiz=T,col=c("steelblue4","lightsteelblue3"),border="NA",axes=F,beside=T,xlim=c(0,zehnind),cex.names=1.2,ylim=c(0,10))
par(xpd=TRUE)
abline(v = seq(10, zehnind, by = 10), col = "white")
par(xpd=F)
aa <- skala
if(aa == "prozent")
{axis(1,at=ticks,las=1,labels=paste(ticks,"%",sep=""))}
else if (aa == "absolut")
{axis(1,at=ticks,las=1,labels=ticks)}
par(xpd=TRUE)
legend(0,-1.4,xjust=0,legend=colnames(dat)[-1],fill=c("steelblue4","lightsteelblue3"),bty="n",border="white",horiz=T,cex=1.2)
dev.off()
}
mw_g_2balk(abb="abb7ctreff")
[[alternative HTML version deleted]]