• Visualisasi data merupakan bagian yang sangat penting untuk mengkomunikasikan hasil analisa yang telah kita lakukan. Selain itu, komunikasi juga membantu kita untuk memperoleh gambaran terkait data selama proses analisis data sehingga membantu kita dalam memutuskan metode analisis apa yang dapat kita terapkan pada data tersebut.
  • R memiliki library visualisasi yang sangat beragam, baik yang merupakan fungsi dasar pada R maupun dari sumber lain seperti ggplot dan lattice. Seluruh library visualisasi tersebut memiliki kelebihan dan kekurangannya masing-masing.

    Pada chapter ini kita tidak akan membahas seluruh library tersebut. Kita akab fokus pada fungsi visualisasi dasar bawaan dari R. kita akan mempelajari mengenai jenis visualisasi data sampai dengan melakukan kustomisasi pada parameter grafik yang kita buat.

    3.1 Visualisasi Data Menggunakan Fungsi plot() Fungsi plot()merupakan fungsi umum yang digunakan untuk membuat plot pada R. Format dasarnya adalah sebagai berikut:

    #plot(x, y, type="p")
    
    #Catatan:
    #x dan y : titik koordinat plot Berrupa variabel dengan panjang atau jumlah observasi yang sama.
    #type : jenis grafik yang hendak dibuat. Nilai yang dapat dimasukkan antara lain:
    #type=“p” : membuat plot titik atau scatterplot. Nilai ini merupakan default pada fungsi plot().
    #type=“l” : membuat plot garis.
    #type=“b” : membuat plot titik yang terhubung dengan garis.
    #type=“o” : membuat plot titik yang ditimpa oleh garis.
    #type=“h” : membuat plot garis vertikal dari titik ke garis y=0.
    #type=“s” : membuat fungsi tangga.
    #type=“n” : tidak membuat grafik plot sama sekali, kecuali plot dari axis. Dapat digunakan untuk mengatur tampilan suatu plot utama yang diikuti oleh sekelompok plot tambahan.

    Untuk lebih memahaminya berikut penulis akan menyajikan contoh untuk masing-masing grafik tersebut. Berikut adalah contoh sintaks dan hasil plot yang disajikan pada Gambar 3.1 :

    # membuat vektor data 
    x <- c(1:10); y <- x^2
    
    # membagi jendela grafik menajdi 2 baris dan 4 kolom
    par(mfrow=c(2,4))
    
    # loop
    type <- c("p","l","b","o","h","s","n")
    for (i in type){
      plot(x,y, type= i,
           main= paste("type=", i))
    }

    Pada contoh selanjutnya kita akan mencoba membuat kembali data yang akan kita plotkan. Data pada contoh kali ini merupakan data suatu fungsi matematika. Berikut adalah sintaks yang digunakan:

    #Plot fungsi matematika
    set.seed(123)
    x <- seq(from=0, to=10, by=0.1)
    y <- x^2*exp(-x/2)*(1+rnorm(n=length(x), mean=0, sd=0.05))
    
    par(mfrow=c(1,2),
        # mengatur margin grafik
        mar=c(4,4,1.5,1.5),
        # mengatur margin sumbu
        mex=0.8,
        # arah tick sumbu koordinat
        tcl=0.3)
    plot(x, y, type="l")
    plot(x, y, type="o")

    Fungsi lain yang dapat digunakan untuk membuat kurva suatu barang matematis adalah fungsi curve(). Berbeda dengan fungsi plot()yang perlu menspesifikasi objek pada sumbu x dan y, fungsi curve()hanya perlu menspesifikasi objek sumbu x saja. Format fungsi curve()adalah sebagai berikut:

    #curve(expr, from = NULL, to = NULL, add = FALSE)
    
    #Catatan:
     # expr : jual matematika
      #dari dan ke : nilai awal dan akhir (maksimum atau yminimum)
     # add : nilai logika yang menentukan apakah kurva perlu ditambahkan ke dalam kurva sebelumnya.

    Berikut adalah contoh visualisasi menggunakan fungsi curve():

    par(mfrow=c(1,2),
        # mengatur margin grafik
        mar=c(4,4,1.5,1.5),
        # mengatur margin sumbu
        mex=0.8,
        # arah tick sumbu koordinat
        tcl=0.3)
    
    # Grafik kiri
    curve(expr=x^2*exp(-x/2), 
          from=0, to=10)
    
    # Grafik kanan
    plot(x, y, pch=19, cex=0.7,
         xlab="Waktu (detik)",
         ylab="Sinyal Intensitas")
    curve(expr=x^2*exp(-x/2), 
          from=0, to=10, add=TRUE)

    3.2 Visualisasi Lainnya Visualisasi lainnya yang sering digunakan antara lain: histogram, density plot, bar plot, dan box plot. 3.2.1 Petak Batang Barplot pada Rdapat dibuat menggunakan fungsi barplot(). Untuk lebih memahaminya berikut disajikan contoh barplot menggunakan dataset VADeaths. Untuk memuatnya, jalankan sintaks berikut:

    VADeaths
    ##       Rural Male Rural Female Urban Male Urban Female
    ## 50-54       11.7          8.7       15.4          8.4
    ## 55-59       18.1         11.7       24.3         13.6
    ## 60-64       26.9         20.3       37.0         19.3
    ## 65-69       41.0         30.9       54.6         35.1
    ## 70-74       66.0         54.3       71.1         50.0
    #PLOT VARIABEL RURAL MALE
    par(mfrow=c(1,2))
    #a. batang petak vertikal
    barplot(VADeaths[, "Rural Male"], main="a")
    #. petak batang mendatar
    barplot(VADeaths[, "Rural Male"], main="b", horiz=TRUE)

    par(mfrow=c(1,1))

    Kita dapat mengubah warna pada bar masing-masing, baik outline bar maupun box pada bar. Selain itu kita juga dapat mengubah nama grup yang telah dihasilkan sebelumnya.

    #Kustomisasi bar plot
    barplot(VADeaths[, "Rural Male"],
            # ubah warna ouline menjadi steelblue
            border="steelblue",
            # ubah wana box
            col= c("grey", "black", "steelblue", "green", "orange"),
            # ubah nama grup dari A sampai E
            names.arg = LETTERS[1:5],
            # ubah orientasi menajadi horizontal
            horiz=TRUE)

    Untuk bar plot dengan multiple group , tersedia dua pengaturan posisi yaitu stacked bar plot (menunjukkan proporsi penyusun pada masing-masing grup) dan grouped bar plot (melihat perbedaan individual pada masing-masing grup).

    #Stacked bar plot
    # staked
    barplot(VADeaths,
             col = c("lightblue", "mistyrose", "lightcyan", 
                     "lavender", "cornsilk"),
            legend = rownames(VADeaths))

    #Petak batang yang dikelompokkan
    # grouped
    barplot(VADeaths,
             col = c("lightblue", "mistyrose", "lightcyan", 
                     "lavender", "cornsilk"),
            legend = rownames(VADeaths), beside = TRUE)

    3.2.2 Histogram dan Plot Kepadatan Fungsi hist()dapat digunakan untuk membuat histogram pada R. Secara sederhana fungsi tersebut didefinisikan sebagai berikut:

    hist(x, breaks="Sturges")

    #Catatan:
    #x : numerik numerik
    #break : breakpoint antar sel histogram

    Pada dataset treesakan dibuat histogram variabel Height. Untuk menginstal jalankan sintaks berikut:

    hist(trees$Height)

    Kepadatan plot pada Rdapat dibuat menggunakan fungsi density(). Berbeda dengan fungsi hist(), fungsi ini tidak langsung menghasilkan kepadatan grafik. Fungsi density()hanya menghitung densitas kernel pada data. Kepadatan yang telah dihitung selanjutnya diplotkan menggunakan fungsi plot().

    #Plot kepadatan
    # menghitung kernel density
    dens <- density(trees$Height)
    
    # plot densitas dengan outline merah
    plot(dens,col="red")

    Kita juga dapat menambahkan densitas grafik pada histogram sehingga mempermudah pembacaan pada histogram. Untuk melakukannya kita perlu mengubah kernel histigram dari frekuensi menjadi density dengan menambahkan argument freq=FALSEpada fungsi hist(). Selanjutnya tambahkan fungsi polygon()untuk memplotkan kepadatan grafik.

    #Density plot dan histogram
    # menghitung kernel density
    dens <- density(trees$Height)
    
    # histogram
    hist(trees$Height, freq=FALSE, col="steelblue")
    
    # tambahkan density plot
    polygon(dens, border="red")

    3.2.3 Plot kotak Box plot pada Rdapat dibuat menggunakan fungsi boxplot(). Berikut adalah sintaks untuk membuat variabel boxplot Sepal.Lenghtpada dataset irisdan output yang dihasilkan

    #Variabel Boxplot Sepal.Length
    boxplot(iris$Sepal.Length)

    Boxplot juga dapat dibuat berdasarkan faktor variabel. Hal ini berguna untuk melihat perbedaan ditribusi data pada masing-masing grup. Pada sintaks berikut dibuat boxplot berdasarkan variabel Species.

    #Boxplot berdasarkan variabel spesies
    boxplot(iris$Sepal.Length~iris$Species)

    Kita juga dapat mengubah warna outline dan box pada boxplot.

    #Boxplot dengan warna berdasarkan spesies
    boxplot(iris$Sepal.Length~iris$Species,
            # ubah warna outline menjadi steelblue
            border = "steelblue",
            # ubah warna box berdasarkan grup
            col= c("#999999", "#E69F00", "#56B4E9"))

    Kita juga dapat membuat boxplot pada multiple group . Data yang digunakan untuk contoh tersebut adalah dataset ToothGrowth.

    # ubah variable dose menjadi factor
    ToothGrowth$dose <- as.factor(ToothGrowth$dose)
    
    # print
    head(ToothGrowth)
    ##    len supp dose
    ## 1  4.2   VC  0.5
    ## 2 11.5   VC  0.5
    ## 3  7.3   VC  0.5
    ## 4  5.8   VC  0.5
    ## 5  6.4   VC  0.5
    ## 6 10.0   VC  0.5
    #Boxplot multiple group
    boxplot(len ~ supp*dose, data = ToothGrowth,
            col = c("white", "steelblue"))

    3.3 Grafik Parameter Kustomisasi Pada bagian ini penulis akan menjelaskan cara untuk kustomisasi parameter grafik seperti: menambahkan judul, legenda, teks, sumbu, dan garis. mengubah skala sumbu, simbol plot, jenis garis, dan warna. 3.3.1 Menambahkan Judul Pada grafik di R, kita dapat menambahkan judul dengan dua cara, yaitu: pada plot melalui parameter dan melalui fungsi plot(). Kedua cara tersebut tidak berbeda satu sama lain pada input parameter. Untuk menambahkan judul pada plot secara langsung, kita dapat menggunakan argumen tambahan sebagai berikut: main : teks untuk judul. xlab : teks untuk keterangan axis X. ylab : teks untuk keterangan axis y. sub : teks untuk sub-judul.

    # menambahkan judul
    barplot(c(2,5), main="Main title",
            xlab="X axis title",
            ylab="Y axis title",
            sub="Sub-title")

    kita juga dapat melakukan kustomisasi pada warna, font style , dan ukuran font judul. Untuk melakukan kustomisasi pada warna pada judul, kita dapat menambahkan argumen sebagai berikut: col.main : warna untuk judul. col.lab : warna untuk keterangan axis. col.sub : warna untuk sub-judul

    Untuk kustomisasi font judul, kita dapat menambahkan argumen berikut: font.main : gaya font untuk judul. font.lab : gaya font untuk keterangan axis. font.sub : gaya font untuk sub-judul.

    Penting!!! Nilai yang dapat dimasukkan antara lain: 1 : untuk teks normal. 2 : untuk teks cetak tebal. 3 : untuk teks cetak miring. 4 : untuk teks cetak tebal dan miring. 5 : untuk simbol font.

    Sedangkan untuk ukuran font, kita dapat menambahkan variabel berikut: cex.main : ukuran teks judul. cex.lab : ukuran teks keterangan axis. cex.sub : ukuran teks sub-judul.

    # menambahkan judul
    barplot(c(2,5), 
            # menambahkan judul
            main="penjualan tahun 2022",
            xlab="barang",
            ylab="frekuensi",
            sub="sembako",
            # kustomisasi warna font
            col.main="red", 
            col.lab="blue", 
            col.sub="black",
            # kustomisasi font style
            font.main=4, 
            font.lab=4, 
            font.sub=4,
            # kustomisasi ukuran font
            cex.main=2, 
            cex.lab=1.7, 
            cex.sub=1.2)

    Kita telah belajar bagaimana menambahkan judul langsung pada fungsi plot. Selain cara tersebut, telah penulis jelaskan bahwa kita dapat menambahkan judul melalui fungsi title(). argument yang dimasukkan pada dasarnya tidak berbeda dengan ketika kita menambahkan judul secara langsung pada plot.

    # menambahkan judul
    barplot(c(2,5,8))
    
    # menambahkan judul
    title(main="Main title",
          xlab="X axis title",
          ylab="Y axis title",
          sub="Sub-title",
          # kustomisasi warna font
          col.main="red", 
          col.lab="blue", 
          col.sub="black",
          # kustomisasi font style
          font.main=4, 
          font.lab=4, 
          font.sub=4,
          # kustomisasi ukuran font
          cex.main=2, 
          cex.lab=1.7, 
          cex.sub=1.2)

    3.3.2 Menambahkan Legenda Fungsi legend()pada Rdapat digunakan untuk menambahkan legend pada grafik. Format sederhananya adalah sebagai berikut:

    #legend(x, y=NULL, legend, fill, col, bg)
    #Catatan:
    #x dan y : koordinat yang digunakan untuk legenda posisi.
    #legenda : teks pada legenda
    #isi : warna yang digunakan untuk mengisi kotak disamping legenda teks.
    #col : warna garis dan titik disamping legenda teks.
    #bg : warna latar belakang legend box.
    # membuat vektor numerik
    
    
    #Berikut adalah contoh sintaks dan ouput penerapan argumen 
    x <- c(1:10)
    y <- x^2
    z <- x*2
    
    # membuat line plot
    plot(x,y, type="o", col="red", lty=1)
    
    # menambahkan line plot
    lines(x,z, type="o", col="blue", lty=2)
    
    # menambahkan legend
    legend(1, 95, legend=c("Line 1", "Line 2"),
           col=c("red", "blue"), lty=1:2, cex=0.8)

    Kita dapat menambahkan judul, merubah font, dan merubah warna backgroud pada legend. Argumen yang ditambahkan pada legend adalah sebagai berikut:

    1. judul : legenda judul
    2. text.font : integer yang menunjukkan font style pada teks legend. Nilai yang dapat dimasukkan adalah sebagai berikut: 1 : biasa 2 : cetak tebal 3 : cetak miring 4 : cetak tebal dan miring.
    3. bg : warna background kotak legenda.
    # membuat line plot
    plot(x,y, type="o", col="red", lty=1)
    
    # menambahkan line plot
    lines(x,z, type="o", col="blue", lty=2)
    
    # menambahkan legend
    legend(1, 95, legend=c("Line 1", "Line 2"),
           col=c("red", "blue"), lty=1:2, cex=0.8,
           title="Line types", text.font=4, bg='lightblue')

    Kita dapat melakukan kustomisasi pada border dari legenda melalui argumen box.lty=(jenis garis), box.lwd=(ukuran garis), dan box.col=(kotak warna). Berikut adalah penerapan argumen tersebut beserta output yang dihasilkan

    # membuat line plot
    plot(x,y, type="o", col="red", lty=1)
    
    # menambahkan line plot
    lines(x,z, type="o", col="blue", lty=2)
    
    # menambahkan legend
    legend(1, 95, legend=c("Line 1", "Line 2"),
           col=c("red", "blue"), lty=1:2, cex=0.8,
           title="Line types", text.font=4, bg='white',
           box.lty=2, box.lwd=2, box.col="steelblue")

    Selain menggunakan koordinat, kita juga dapat melakukan kustomisasi posisi legend menggunakan keyword seperti: bottomright“,”bottom“,”bottomleft“,”left“,”topleft“,”top“,”topright“,”right” and “center”. Sejumlah kustomisasi legenda berdasarkan kata kunci yang disajikan

    # plot
    plot(x,y, type = "n")
    
    # posisi kiri atas, inset =0.05
    legend("topleft",
      legend = "(x,y)",
      title = "topleft, inset = .05",
      inset = 0.05)
    # posisi atas
    legend("top",
           legend = "(x,y)",
           title = "top")
    # posisi kanan atas inset = .02
    legend("topright",
           legend = "(x,y)",
           title = "topright, inset = .02",
           inset = 0.02)
    # posisi kiri
    legend("left",
           legend = "(x,y)",
           title = "left")
    # posisi tengah
    legend("center",
           legend = "(x,y)",
           title = "center")
    # posisi kanan
    legend("right",
           legend = "(x,y)",
           title = "right")
    # posisi kiri bawah
    legend("bottomleft",
           legend = "(x,y)",
           title = "bottomleft")
    # posisi bawah
    legend("bottom",
           legend = "(x,y)",
           title = "bottom")
    # posisi kanan bawah
    legend("bottomright",
           legend = "(x,y)",
           title = "bottomright")

    3.3.3 Menambahkan Teks Pada Grafik Teks pada grafik dapat kita tambahkan baik sebagai keterangan yang menunjukkan label suatu observasi, keterangan tambahan disekitar bingkai grafik, maupun sebuah penjualan yang ada pada bidang grafik. Untuk menambahkannya kita dapat menggunakan dua buah fungsi yaitu: text()dan mtext().

    Fungsi text()berguna untuk menambahkan teks di dalam bidang grafik seperti label titik observasi dan persamaan di dalam bidang grafik. Format yang digunakan adalah sebagai berikut:

    #text(x, y, labels)
    
    #Catatan:
    #x dan y : numerik numerik yang menunjukkan koordinat posisi teks.
    #labels : vektor karakter yang menunjukkan teks yang hendak ditulis.

    Berikut adalah contoh sintaks untuk memberi label pada sejumlah data yang memiliki fitur yang kita inginkan dan output yang dihasilkan

    # tandai observasi yang memiliki nilai
    # mpg < 15 dan wt > 5
    d <- mtcars[mtcars$wt >= 5 & mtcars$mpg <= 15, ]
    
    
    # plot
    plot(mtcars$wt, mtcars$mpg, main="Milage vs. Car Weight",
          xlab="Weight", ylab="Miles/(US) gallon")
    
    # menambahkan text
    text(d$wt, d$mpg,  row.names(d),
         cex=0.65, pos=3,col="red")

    Sedangkan sintaks berikut adalah contoh bagaimana menambahkan jual beli ke dalam bidang grafik dan output yang dihasilkan

    plot(1:10, 1:10, 
         main="text(...) examples\n~~~~~~~~~~~")
    text(4, 9, expression(hat(beta) == (X^t * X)^{-1} * X^t * y))
    text(7, 4, expression(bar(x) == sum(frac(x[i], n), i==1, n)))

    Fungsinya mtext()berguna untuk menambahkan teks pada frame sekitar bidang grafik. Format yang digunakan adalah sebagai berikut:

    #mtext(text, side=3)
    #Catatan:
    
    #teks : teks yang akan ditulis.
    #side : integer yang menunjukkan lokasi teks yang akan ditulis. Nilai yang dapat dimasukkan antara lain:
    #1: bawah
    #2: kiri
    #3: atas
    #4: kanan.

    Berikut adalah contoh penerapan dan keluaran yang dihasilkan

    plot(1:10, 1:10, 
         main="mtext(...) examples\n~~~~~~~~~~~")
    mtext("Magic function", side=3)

    3.3.4 Menambahkan Garis Pada Plot Fungsi abline()dapat digunakan untuk menamabahkan garis pada plot. Garis yang ditambahkan dapat berupa garis vertikal, horizontal, maupun garis regresi. Format yang digunakan adalah sebagi berikut:

    #abline(v=y)
    #Berikut adalah contoh sintaks bagaimana menambahkan garis pada sebuah plot dan output yang dihasilkan disajikan
    
    # membuat plot
    plot(mtcars$wt, mtcars$mpg, main="Milage vs. Car Weight",
          xlab="Weight", ylab="Miles/(US) gallon")
    
    # menambahkan garis vertikal di titik rata-rata weight
    abline(v=mean(mtcars$wt), col="red", lwd=3, lty=2)
    
    # menambahkan garis horizontal di titik rata-rata  mpg
    abline(h=mean(mtcars$mpg), col="blue", lwd=3, lty=3)
    
    # menambahkan garis regresi
    abline(lm(mpg~wt, data=mtcars), lwd=4, lty=4)

    3.3.5 Plot Merubah Simbol dan Jenis Garis Simbol plot (jenis titik) dapat diubah dengan menambahkan argumen pch=pada plot. Nilai yang dimasukkan pada argumen tersebut adalah bilangan bulat dengan kemungkinan nilai sebagai berikut:

    pch = 0,kuadrat pch = 1,lingkaran (default) pch = 2, titik segitiga ke atas pch = 3, ditambah pch = 4, silang pch = 5, intan pch = 6, titik segitiga ke bawah pch = 7,persilangan persegi pch = 8, bintang pch = 9, berlian ditambah pch = 10, lingkari tambah pch = 11, segitiga atas bawah pch = 12, kuadrat tambah pch = 13,silang lingkaran pch = 14, persegi dan segitiga ke bawah pch = 15, diisi persegi pch = 16, isi lingkaran pch = 17, diisi titik segitiga ke atas pch = 18, berlian yang diisi pch = 19, lingkaran padat pch = 20,peluru (lingkaran lebih kecil) pch = 21, diisi lingkaran biru pch = 22, diisi kotak biru pch = 23, diisi berlian biru pch = 24, diisi segitiga berujung biru pch = 25, diisi segitiga titik bawah biru

    Untuk lebih memahami bentuk simbol tersebut, penulis akan menyajikan sintaks yang menampilkan seluruh simbol tersebut pada satu grafik. Output yang dihasilkan disajikan

    generateRPointShapes<-function(){
      # menentukan parameter plot
      oldPar<-par()
      par(font=2, mar=c(0.5,0,0,0))
      # produksi titik axis
      y=rev(c(rep(1,6),rep(2,5), rep(3,5), rep(4,5), rep(5,5)))
      x=c(rep(1:5,5),6)
      # plot seluruh titik dan label
      plot(x, y, pch = 0:25, cex=1.5, ylim=c(1,5.5), xlim=c(1,6.5), 
           axes=FALSE, xlab="", ylab="", bg="blue")
      text(x, y, labels=0:25, pos=3)
      par(mar=oldPar$mar,font=oldPar$font )
    }
    
    # Print
    generateRPointShapes()

    Pada Rkita juga dapat mengatur jenis garis yang akan ditampilkan pada plot dengan menambahkan argument lty=( line type ) pada fungsi plot. Nilai yang dapat dimasukkan adalah nilai bilangan bulat. Keterangan masing-masing nilai tersebut adalah sebagai berikut: lty = 0, kosong lty = 1, padat (default) lty = 2, putus-putus lty = 3, bertitik lty = 4, dotdash lty = 5, longdash lty = 6, dua garis

    Untuk lebih memahaminya, pada sintaks berikut disajikan plot seluruh jenis garis tersebut beserta output yang dihasilkannya

    generateRLineTypes<-function(){
      oldPar<-par()
      par(font=2, mar=c(0,0,0,0))
      plot(1, pch="", ylim=c(0,6), xlim=c(0,0.7), axes = FALSE ,xlab="", ylab="")
      for(i in 0:6) lines(c(0.3,0.7), c(i,i), lty=i, lwd=3)
      text(rep(0.1,6), 0:6, 
           labels=c("0.'blank'", "1.'solid'", "2.'dashed'", "3.'dotted'", 
                    "4.'dotdash'", "5.'longdash'", "6.'twodash'"))
      par(mar=oldPar$mar,font=oldPar$font )
    }
    generateRLineTypes()

    3.3.6 memelihara Axis Plot Kita dapat melakukan pengaturan lebih jauh terhadap sumbu, seperti: menambahkan sumbu tambahan pada bingkai atas dan bawah, mengubah rentang nilai sumbu, serta kustomisasi tanda centang pada sumbu nilai. Hal ini diperlukan karena fungsi grafik dasar Rtidak dapat mengatur sumbu secara otomatis apabila plot baru ditambahkan pada plot pertama dan rentang nilai plot baru lebih besar dibandingkan plot pertama, sehingga sebagian nilai plot baru tidak ditampilkan pada hasil akhir. Untuk menambahkan axis pada Rkita dapat menambahkan fungsi axis()setelah plot dilakukan. Format yang digunakan adalah sebagai berikut:

    #axis(side, at=NULL, labels=TRUE)
    #Catatan:
    #side : nilai bilangan bulat yang mengidikasikan posisi axix yang hendak ditambahkan. Nilai yang dapat dimasukkan adalah sebagai berikut:
    #1: bawah
    #2: kiri
    #3: atas
    #4: kanan.
    #at : dimana tick-mark hendak digambarkan. Nilai yang dapat dimasukkan sama dengan side.
    #labels : Label teks tanda centang . Dapat juga secara logis menentukan apakah anotasi harus dibuat pada tanda centang .

    Berikut contoh sintaks penerapan fungsi tersebut dan output yang dihasilkan

    # membuat vektor numerik
    x <- c(1:4)
    y <- x^2
    
    # plot
    plot(x, y, pch=18, col="red", type="b",
         frame=FALSE, xaxt="n") # Remove x axis
    
    # menambahkan axis
    # bawah
    axis(1, 1:4, LETTERS[1:4], col.axis="blue")
    # atas
    axis(3, col = "darkgreen", lty = 2, lwd = 0.5)
    # kanan
    axis(4, col = "violet", col.axis = "dark violet", lwd = 2)

    Kita dapat mengubah rentang nilai pada sumbu menggunakan fungsi xlim()dan ylim()yang menyatakan vektor nilai maksimum dan rentang minimum. Selain itu kita juga dapat melakukan transaksi baik pada sumbu x dan sumbu y. Berikut adalah argumen yang dapat ditambahkan pada fungsi grafik: xlim : limit nilai sumbu x dengan format: xlim(min, max). ylim : limit nilai sumbu x dengan format: ylim(min, max). Untuk mentransformasikan skala log, kita dapat menambahkan argumen berikut: log=“x” : transformasi log sumbu x. log=“y” : transformasi log sumbu y. log=“xy” : transformasi log sumbu x dan y. Berikut adalah contoh sintaks penerapan argumen tersebut beserta output yang dihasilkan

    # membagi jendela grafik menjadi 1 baris dan 3 kolom
    par(mfrow=c(1,3))
    
    # membuat vektor numerik
    x<-c(1:10); y<-x*x
    
    # simple plot
    plot(x, y)
    
    # plot dengan pengaturan rentang skala
    plot(x, y, xlim=c(1,15), ylim=c(1,150))
    
    # plot dengan transformasi skala log
    plot(x, y, log="y")

    Kita dapat melakukan kustomisasi pada tanda centang . Kustomisasi yang dapat dilakukan adalah merubah warna, gaya font , ukuran font, orientasi, serta menyembunyikan tanda centang .

    Argumen yang ditambahkan adalah sebagai berikut:

    col.axis : tanda centang warna . font.axis : integer yang menunjukkan font style . Sama dengan pengaturan judul. cex.axis : pengaturan ukuran tanda centang . las : mengatur organisir tanda tik . Nilai yang dapat dimasukkan adalah sebagai berikut:

    0 : paralel terhadap sumbu posisi (default) 1 : selalu mendatar 2 : selalu tegak lurus dengan sumbu posisi 3 : selalu vertikal xaxt dan yaxt : karakter untuk menunjukkan apakah axis akan ditampilkan atau tidak. nilai dapat berupa “n”(sembunyika) dan “s”(tampilkan).

    Berikut adalah contoh penerapan argumen tersebut beserta output:

    # membuat vektor numerik
    x<-c(1:10); y<-x*x
    
    # plot
    plot(x,y,
         # warna
         col.axis="red",
         # font style
         font.axis=2,
         # ukuran
         cex=1.5,
         # orientasi
         las=3,
         # sembunyikan sumbu x
         xaxt="n")

    3.3.7 Warna Pada fungsi dasar R, warna dapat diatur dengan mengetikkan nama warna maupun kode heksadesimal. Selain itu kita juga dapat menambahkan warna lain melalui library lain yang tidak dijelaskan pada bab ini.

    Untuk penggunaan warna hexadesima kita perlu mengetikkan “#” yang diukuti oleh 6 kode warna. Untuk memperlajari kode-kode dan warna yang dihasilkan, silahkan pembaca mengunjungi situs http://www.visibone.com/ .

    Pada sintaks berikut disajikan visualisasi nama-nama warna bawaan yang ada pada R. Output yang dihasilkan disajikan

    showCols <- function(cl=colors(), bg = "grey",
                         cex = 0.75, rot = 30) {
        m <- ceiling(sqrt(n <-length(cl)))
        length(cl) <- m*m; cm <- matrix(cl, m)
        require("grid")
        grid.newpage(); vp <- viewport(w = .92, h = .92)
        grid.rect(gp=gpar(fill=bg))
        grid.text(cm, x = col(cm)/m, y = rev(row(cm))/m, rot = rot,
                  vp=vp, gp=gpar(cex = cex, col = cm))
    }
    
    # print 60 nama warna pertama
    showCols(bg="gray20", cl=colors()[1:60], rot=30, cex=0.9)
    ## Loading required package: grid

    3.4 Plot Dua dan Tiga Dimensi R dapat digunakan untuk memproduksi visualisasi pada skala 2 dan 3 dimensi. Untuk proyeksi 2 dimensi, fungsi yang digunakan adalah image()atau contour(). Untuk informasi lebih lanjut terkait fungsi tersebut pembaca dapat mengakses menu bantuan. Pada sintak berikut diberikan contoh bagaimana cara memproduksi visualisasi dua dimensi menggunakan kedua fungsi tersebut:

    n <- 1:20
    x <- sin(n)
    y <- cos(n)*exp(-n/3)
    z <- outer(x,y)
    par(mar=c(3,3,1.5,1.5), mex=0.8, mgp=c(2,0.5,0), tcl=0.3)
    par(mfrow=c(1,2))
    
    # plot pertama
    image(z, col=gray(1:10/10))
    
    # plot kedua
    contour(z)

    par(mfrow=c(1,1))
    
    #Proyeksi 3 dimensi dapat dilakukan menggunakan fungsi persp(). Sudut penglihatan dapat diatur melalui argumen theta(sudut) dan phi()(rotasi). Sintaks berikut merupakan contoh bagaimana cara menghasilkan visualisasi 3 dimensi dari data yang telah diproduksi sebelumnya:
    
    par(mar=c(3,3,1.5,1.5), mex=0.8, mgp=c(2,0.5,0), tcl=0.3)
    par(mfrow=c(1,2))
    
    # plot pertama
    persp(n,n,z, theta=45, phi=20)
    
    # plot kedua
    persp(n,n,z, theta=45, phi=20, shade=0.5)

    par(mfrow=c(1,1))

    REFERENSI: 1. Maindonald, JH 2008. Menggunakan R untuk Analisis Data dan Pendahuluan Grafik, Kode dan Komentar . Pusat Matematika dan Aplikasinya Australian National University. 2. Scherber, C. 2007. Pengantar analisis data statistik menggunakan R . R_Manual Goettingen. 3. STHDA. Grafik Dasar R . http://www.sthda.com/english/wiki/r-base-graphs 4. Venables, WN Smith DM dan R Core Team. 2018. Pengantar R . Manual R. 5. https://bookdown.org/moh_rosidi2610/Metode_Numerik/dataviz.html