File talk:Btw-umfragen.svg
Jump to navigation
Jump to search
library("Cairo") CairoSVG("btw-umfragen.svg",width=8.5,height=5.5) daten<-read.csv("btw-umfragen.csv",sep="\t") rot<-"#ff0000" gruen<-"#008b00" gelb<-"#ffff00" rotrot<-"#de2922" orange<-"#ff820a" blau<-"#ffff00" hellblau<-"#00adef" daten$zeit<-NA zeit<-0 for (jahr in 9:13) for (monat in 1:12) { maxmonat=31 if (monat==4|monat==6|monat==9|monat==11)maxmonat=30 if (monat==2&jahr==12)maxmonat=29 if (monat==2&jahr!=12)maxmonat=28 for (tag in 1:maxmonat) { datum="" if (monat<10)datum="0" datum=paste(datum,monat,"/",sep="") if (tag<10)datum=paste(datum,"0",sep="") datum=paste(datum,tag,"/",sep="") if (jahr<10)datum=paste(datum,"0",sep="") datum=paste(datum,jahr,sep="") zeit<-zeit+1 daten$zeit[daten$Datum==datum]<-zeit } } daten<-daten[order(daten$zeit),] levels(daten$Institut)[levels(daten$Institut)=="FGW"]<-"W" levels(daten$Institut)[levels(daten$Institut)=="INSA"]<-"S" plot(daten$zeit,daten$Union,pch=as.character(daten$Institut), col="black",ylim=c(0,max(daten$Union)), cex=.5, axes=FALSE,xlab="",ylab="") for (i in 1:44)lines(c(0,3000),i*c(.01,.01),col="lightgrey",lwd=.3) for (i in 1:8)lines(c(0,3000),i*c(.05,.05),col="lightgrey",lwd=.6) lines(c(0,3000),rep(0,2),col="black",lty=1,lwd=2) axis(2,at=c(0,0.05,.1,.2,.3,.4),labels=c("0%","5%","10%","20%","30%","40%"), tick=FALSE, las=2) axis(1,at=seq(15,2900,365.25/3),labels=paste(rep(c("Jan.","Mai","Sep."),8),"\n",rep(2009:2014,each=3),sep=""),tick=FALSE) points(daten$zeit,daten$SPD,pch=as.character(daten$Institut),col=rot,cex=0.5) points(daten$zeit,daten$Gruene,pch=as.character(daten$Institut),col=gruen,cex=0.5) points(daten$zeit,daten$Sonst,pch=as.character(daten$Institut),col=grey(.85),cex=0.5) points(daten$zeit,daten$Linke,pch=as.character(daten$Institut),col=rotrot,cex=0.5) points(daten$zeit,daten$FDP,pch=as.character(daten$Institut),col=gelb,cex=0.5) points(daten$zeit,daten$Piraten,pch=as.character(daten$Institut),col=orange,cex=0.5) points(daten$zeit,daten$FW,pch=as.character(daten$Institut),col=blau,cex=0.5) points(daten$zeit,daten$AfD,pch=as.character(daten$Institut),col=hellblau,cex=0.5) lines(c(0,3000),rep(0.05,2),col="darkgrey",lty=2,lwd=1.5) title(main="Sonntagsfrage zur Bundestagswahl") points(min(daten$zeit),daten$Union[1],col="black",pch=19,cex=1.25) points(min(daten$zeit),daten$SPD[1],col=rot,pch=19,cex=1.25) points(min(daten$zeit),daten$Gruene[1],col=gruen,pch=19,cex=1.25) points(min(daten$zeit),daten$Linke[1],col=rotrot,pch=19,cex=1.25) points(min(daten$zeit),daten$FDP[1],col=gelb,pch=19,cex=1.25) points(min(daten$zeit),daten$Piraten[1],col=orange,pch=19,cex=1.25) dev.off()