Joonte lisamine graafikule - erinevad joonetüübid


Eristamaks ühte näitajat teisest tuleks mitme näitaja või tunnuse korraga graafikule kandmisel neid näitajaid kirjeldavad jooned eristatavaks muuta. Kõige sobivam viis selleks on iga joone joonistamisel kasutada erinevat joonetüüpi - katkendjoont, punktiiri vms. Joone tüüpi saab valida, lisades lines-käsule lisaparameetri lty=... .
Kolm tunnust - igaüks eri tüüpi joonega
#Algandmed:
aasta=1999:2005
Firma1=c(12,14,18, 24,25,26,24)
Firma2=c(20, 21, 22, 20, 21, 25, 27)
Firma3=c(NA,0,5, 15, 25, 30, 32)

# Alustame graafiku joonistamist - 
#	paneme paika teljed ja kanname joonisele
#	1. firma andmed:
plot(aasta, Firma1, type="l", lty=1, ylim=c(0,35), 
             main="Meie konkurendid")

# Lisame joonisele 2. ja 3. firma andmed:
lines(aasta, Firma2, lty=2)
lines(aasta, Firma3, lty=3)

# lisame joonetüüpide selgituse
legend(2003, 15, c("Firma 1","Firma 2", "Firma 3"), lty=1:3)
   
 
 
 
Katkend- või punktiirjoonte abil kantakse sageli graafikule ka usaldus-, prognoosi-, tolerantsi- või muid intervalle. Alljärgnev näide näitab regressioonisirge ja 95%-usaldusintervalli (regressioonisirgele) lisamist hajuvusgraafikule.
#Algandmed:

x=c(1, 3, 4, 10, 11, 13, 13)
y=c(3, 5, 7, 13, 10, 14, 17)

# Mudeli hindamine

m1=lm(y~x)
summary(m1)

# Leiame prognoosid x-i väärtuste x=0, x=0.1, x=0,2,... x=20 jaoks:
abi=predict(m1, data.frame(x=seq(0,20,0.1)), 
       type="response", interval="confidence", level=0.95)

# Teeme esimese joonise - meie vaatlused
plot(x,y, main="Hajuvusgraafik ja regressioonisirge")

# Lisame regressioonisirge ja 
#        95%-usaldusintervalli regressioonisirgele:
lines(seq(0,20,0.1), abi[,1], lty=1)
lines(seq(0,20,0.1), abi[,2], lty=2)
lines(seq(0,20,0.1), abi[,3], lty=2)

   
 
 
 
R-is kasutatavad joonetüübid:

# Seame teljed ja joonistame joonisekasti
plot(NA,NA, xlab="",ylab="", main="", 
      xaxt="n", yaxt="n", xlim=c(0,10), ylim=c(0,7))

# Tsükliga joonistame jooned kasutades 
#          kõiki olemasolevaid joonetüüpe:
for (i in 1:6){
lines(c(2,10), c(7-i,7-i), lty=i)
text(1, 7-i, paste("lty=",i, sep=""), adj=c(0.5,0.5))
}

   
Täiendav näide

Programm, mis genereeris pildid siia leheküljele.