rm(list=ls()) #How to make plot for presentation. par(bg=NA,mfrow=c(1,1),mar=c(5,5,0,0),cex.lab=3) plot(seq(0,10,.1),sin(seq(0,10,.1)),type="l",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15),col=rgb(.4,.15,.15),lwd=10,xaxt="n",yaxt="n") box(lty="solid",col=rgb(.4,.15,.15),lwd=2) #Then save plot as an image and upload to powerpoint, can get the plot without a background. x_vec=seq(0,10,.01) #Plot a fitness landscape plot(x_vec,x_vec,col=rgb(0,0,0,0),xlab="# Spines",ylab="",xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) plot(x_vec,x_vec,col=rgb(0,0,0,0),xlab="# Spines",ylab="Fitness",xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) plot(x_vec,10*x_vec+4*x_vec^2-.5*x_vec^3+.1*x_vec^4-.01*x_vec^5,col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15),col=rgb(.4,.15,.15),lwd=5,xaxt="n",yaxt="n",xlab="# Spines",ylab="Fitness") #Plot an altered fitness landscape plot(x_vec,10*x_vec+1*x_vec^2-.5*x_vec^3+.1*x_vec^4-.01*x_vec^5,col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15),col=rgb(.4,.15,.15),lwd=5,xaxt="n",yaxt="n",xlab="# Spines",ylab="Fitness",xlim=c(3,10)) par(mar=c(5,6,0,0)) z_vec=seq(-5,5,.01) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab="",xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab=expression(paste("Fitness(x,Env(x"[1],"))")),xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) abline(h=0) axis(side=2,at=0,cex.axis=2) text(-3.5,5,cex=2,col=rgb(.4,.15,.15),"Can invade") text(-3.3,-5,cex=2,col=rgb(.4,.15,.15),"Can't invade") segments(0,-.5,0,.5,lwd=2) text(0.1,.75,cex=2,expression("x"[1])) points(z_vec,3*sin(z_vec/2.5),type="l",lwd=5,col=rgb(.4,.15,.15)) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab=expression(paste("Fitness(x,Env(x"[1],"))")),xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) abline(h=0) axis(side=2,at=0,cex.axis=2) text(-3.5,5,cex=2,col=rgb(.4,.15,.15),"Can invade") text(-3.3,-5,cex=2,col=rgb(.4,.15,.15),"Can't invade") segments(0,-.5,0,.5,lwd=2) text(0.1,.75,cex=2,expression("x"[1])) points(z_vec,3*sin(-z_vec/2.5),type="l",lwd=5,col=rgb(.4,.15,.15)) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab=expression(paste("Fitness(x,Env(x"[1],"))")),xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) abline(h=0) segments(0,-.5,0,.5,lwd=2) text(0.1,.75,cex=2,expression("x"[1])) points(z_vec,-z_vec^2/10,type="l",lwd=5,col=rgb(.4,.15,.15)) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab=expression(paste("Fitness(x,Env(x"[1],"))")),xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) abline(h=0) segments(0,-.5,0,.5,lwd=2) text(0.1,.75,cex=2,expression("x"[1])) points(z_vec,z_vec^2/10,type="l",lwd=5,col=rgb(.4,.15,.15)) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab=expression(paste("Fitness(x,Env(x"[1],"))")),xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) abline(h=0) segments(0,-.5,0,.5,lwd=2) text(0.1,.75,cex=2,expression("x"[1])) points(z_vec,z_vec^3/30,type="l",lwd=5,col=rgb(.4,.15,.15)) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab=expression(paste("Fitness(x,Env(x"[0],"))")),xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) abline(h=0) segments(-.5,-.5,-.5,.5,lwd=2) segments(0,-.5,0,.5,lwd=2) text(-.4,-.8,cex=2,expression("x"[0])) text(0.1,1,cex=2,expression("x"[1])) points(z_vec,4*((z_vec+.5)/5-((z_vec+.5)/5)^2),type="l",lwd=5,col=rgb(.4,.15,.15)) plot(z_vec,z_vec,col=rgb(0,0,0,0),xlab="Invader trait: x",ylab=expression(paste("Fitness(x,Env(x"[2],"))")),xaxt="n",yaxt="n",col.axis=rgb(.4,.15,.15),col.lab=rgb(.4,.15,.15)) abline(h=0) segments(.5,-.5,.5,.5,lwd=2) segments(0,-.5,0,.5,lwd=2) text(.6,-.8,cex=2,expression("x"[2])) text(0.1,1,cex=2,expression("x"[1])) points(z_vec,4*((.5-z_vec)/5-((.5-z_vec)/5)^2),type="l",lwd=5,col=rgb(.4,.15,.15))