# # Punktide lisamine - punkti kuju, värvi ja suuruse muutmine. # # Viimati muudetud - 1. september 2005 # Koostanud: Märt Möls # # Millega png-pilte vaadata vaataja="C:\\Program Files\\Mozilla Firefox\\firefox.exe" # Kuhu pildfailid salvestada tee="F:\\kursus\\R\\temp\\lisamine\\" algus=function(pilt, xs, ys){ assign("teenimi", paste(tee,pilt,sep=""), env=.GlobalEnv) assign("teenimi2", paste('"',vaataja,'" ',tee,pilt,sep=""), env=.GlobalEnv) png(filename = teenimi, width = xs, height = ys, pointsize = 12, bg = "white") } # --------------------------------------------------- # # Esimene pilt - Emased, isased ja ekstreemumid # # --------------------------------------------------- algus("pilt70.png", 400, 300) plot(vanus[sugu==1],pikkus[sugu==1], type="p", main="Emased ja isased", xlab="vanus", ylab="pikkus", col="blue", ylim=c(0,215)) # Lisame juurde emasloomi (sugu=0) kirjeldavad punktid. # Teeme seda oraanzi värviga, col="orange". points(vanus[sugu==0],pikkus[sugu==0], col="orange") # Leiame suurima ja väikseima looma kirjenumbrid. suurim=which(max(pikkus)==pikkus) vaikseim=which(min(pikkus)==pikkus) # Joonistame suurimat ja väikseimat looma # tähistavatele punktidele # ringid ümber (cex=2 - suur punkt!) points(vanus[suurim],pikkus[suurim], cex=3, lwd=2) points(vanus[vaikseim],pikkus[vaikseim], cex=3, lwd=2) # lisame legendi legend(18,75, c("emased","isased"), col=c("orange","blue"), pch=1) dev.off() system(teenimi2) # --------------------------------------------------- # # Teine pilt - kolmas tunnus määrab värvi # # --------------------------------------------------- algus("pilt71.png", 400, 300) long=runif(120)*360-180 lat=runif(120)*90 kuumus=lat+runif(120)*30 plot(long, lat, main="120 kohta põhjapoolkeral", type="p", bg=heat.colors(121)[1+as.integer(kuumus)], pch=22, col="green4", cex=3) dev.off() system(teenimi2) algus("pilt72.png", 400, 300) suurus <- 2 ipch <- 1:(np <- 25+11); k <- floor(sqrt(np)); dd <- c(-1,1)/2 rx <- dd + range(ix <- (ipch-1) %/% k) ry <- dd + range(iy <- 3 + (k-1)-(ipch-1) %% k)+c(-1,0) pch <- as.list(ipch) pch[25+ 1:11] <- as.list(c("*",".", "o","O","0","+","-",":","|","k","#")) par(mar=c(0,0,0,0), bg="white") plot(rx, ry, type="n", axes = FALSE, xlab = "", ylab = "") abline(v = ix, h = iy, col = "lightgray", lty = "dotted") for(i in 1:np) { pc <- pch[[i]] points(ix[i], iy[i], pch = pc, col = "red", bg = "yellow", cex = suurus) text(ix[i] - .3, iy[i], pc, col = "brown", cex = 1.2*suurus/3) } arrows(3.3,2.3,ix[24],iy[24], length=0.1) text(3.3,2.3,'bg="yellow"', adj=c(0,1)) arrows(2.5,2.2,ix[24]-0.11,iy[24]-0.11, length=0.1) text(2.5,2.2,'col="red"', adj=c(1,1)) dev.off() system(teenimi2) plot(vanus[sugu==1],pikkus[sugu==1], type="p", main="Emased ja isased", xlab="vanus", ylab="pikkus", col="blue", ylim=c(0,215)) # Lisame juurde emasloomi (sugu=0) kirjeldavad punktid. # Teeme seda oraanzi värviga, col="orange". points(vanus[sugu==0],pikkus[sugu==0], col="orange") # Leiame suurima ja väikseima looma kirjenumbrid. suurim=which(max(pikkus)==pikkus) vaikseim=which(min(pikkus)==pikkus) # Joonistame suurimat ja väikseimat looma # tähistavatele punktidele # ringid ümber (cex=2 - suur punkt!) points(vanus[suurim],pikkus[suurim], cex=3, lwd=2) points(vanus[vaikseim],pikkus[vaikseim], cex=3, lwd=2) # lisame legendi legend(18,75, c("emased","isased"), col=c("orange","blue"), pch=1) dev.off() system(teenimi2)