Rekan-rekan ini sedikit contoh kolaborasi antara library(grid) dan plot, sehingga kita bisa menampilkan data dalam visualisasi yang lebih mudahdipahami.
Thanks buat mas Fajar atas masukannya dan sempat menyediakan data, sehingga “rasa penasaran” saya untuk sedikit membantu dalam memberi contoh “menampilkan banyak data (analisis) dalam satu plot” dapatterlaksana.
Thanks for R Community
Berikut ini saya sertakan scriptnya :
### Author : Unung Istopo H
### Organization : Enciety
### Last Modified : 18 Juni 2004
require(gridBase)
x < – c(17,6,117)
y <- c(51,19,264)
nama <- c(“Surya”,”Kompas”,”Jawa Pos”)
z <- matrix(c(28,10,99,21,9,145), ncol=2)
oldpar <- par(no.readonly = TRUE)
plot(x,y, xlim=c(0,120),ylim=c(0,300),xlab=”Jumlah
Pelanggan”,ylab=”Jumlah Pembaca”)
title(“Jumlah Pelanggan * Jumlah Pembaca * Prosentase Kepemilikan
Komputer”)
for (i in 1:3) {
mtext(nama[i], side=1, line=2, at=x[i], cex=1, col=”darkblue”) }
vps <- baseViewports()
par(new = TRUE)
push.viewport(vps$inner, vps$figure, vps$plot)
grid.segments(x0 = unit(c(rep(0,3),x),rep(c(“npc”,”native”),each=3)),
x1= unit(c(x,x),rep(“native”,6)),
y0 =unit(c(y,rep(0,3)),rep(c(“native”,”npc”),each=3)),
y1 =unit(c(y,x),rep(“native”,6)),gp=gpar(lty=”dashed”,col=”grey”))
maxpiesize <- unit(0.65, “inches”)
totals <- c(10,10,10)
sizemult <- totals/max(totals)
for (i in 1:3) {
push.viewport(viewport(x=unit(x[i],”native”),y=unit(y[i],”native”),
width=sizemult[i]*maxpiesize,
height=sizemult[i]*maxpiesize))
grid.rect(gp=gpar(col=”grey”,fill=”white”,lty=”dashed”))
par(plt=gridPLT(), new=TRUE)
pie(z[i,], radius = 1,
labels=c(“Memiliki”,”Tidak”),col=c(“red”,”green”))
pop.viewport()
}
pop.viewport(3)
par(oldpar)
Hasilnya adalah sebagai berikut :

