Visualisasi Data yang Melanggar Prinsip ACCENT

Tugas Kelompok 1-A STA581 Sains Data

Pendahuluan

Dalam membuat visualisasi data/grafik, perlu diperhatikan 6 prinsip dari desain (disingkat ACCENT):

  1. Apprehension (Pemahaman)

Menyangkut kemampuan untuk melihat hubungan di antara data dengan benar. Melihat subtansi data bukan oleh desain artistik atau lainnya.

  1. Clarity (Kejelasan)

Menyangkut kemampuan untuk membedakan elemen-elemen grafik secara visual, sehingga perbedaan setiap level jelas.

  1. Consistency (Konsistensi)

Menyangkut kemampuan menafsirkan grafik berdasarkan keterpaparan pada grafik serupa di masa lalu atau standar universal yang wajar.

  1. Efficiency (Efisiensi)

Menyangkut kemampuan grafik untuk menggambarkan data dengan cara sesederhana mungkin.

  1. Necessity (Kebutuhan)

Berkaitan dengan kebutuhan grafik atau elemen tertentu.

  1. Truthfulness (Keadaan sebenarnya)

Menyangkut apakah data diplot dengan benar dalam sistem koordinat yang ditentukan dengan baik.

Library

Library yang digunakan untuk membuat plot adalah tidyverse, ggridges, TSstudio, scales, plotly.

library(tidyverse)
library(ggridges)
library(TSstudio) # reformat data time series
library(scales)
library(plotly) # plot interaktif

Grafik Kelompok 1

Data

Data yang digunakan adalah data ldeaths yang berada di dalam dasasets R.

Monthly Deaths from Lung Diseases in the UK. Three time series giving the monthly deaths from bronchitis, emphysema and asthma in the UK, 1974-1979, both sexes (ldeaths), males (mdeaths) and females (fdeaths).

ldeaths
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
1974 3035 2552 2704 2554 2014 1655 1721 1524 1596 2074 2199 2512
1975 2933 2889 2938 2497 1870 1726 1607 1545 1396 1787 2076 2837
1976 2787 3891 3179 2011 1636 1580 1489 1300 1356 1653 2013 2823
1977 3102 2294 2385 2444 1748 1554 1498 1361 1346 1564 1640 2293
1978 2815 3137 2679 1969 1870 1633 1529 1366 1357 1570 1535 2491
1979 3084 2605 2573 2143 1693 1504 1461 1354 1333 1492 1781 1915

Untuk dapat menggunakan data time series tersebut ke dalam ggplot2, maka data tersebut akan ditransformasi menjadi data frame terlebih dahulu.

a<-ts_reshape(ldeaths, type = "long", frequency = NULL) #reformat data time series menjadi df dengan format long
a<-a %>% 
  mutate(year=as.factor(year)) %>% 
  filter(year != 1977) # menampilkan selain data 1977
head(a)

Grafik yang Melanggar Prinsip ACCENT

Grafik banyaknya kematian karena Lung Diseases di UK tahun 1974 sampai dengan tahun 1979:

ggplot(a, # data yang digunakan
       aes(x=year,
           y=value,
           fill=year))+
  geom_bar(stat = "identity", width = 0.6, show.legend = FALSE)+ # membuat bar chart per tahun
  scale_fill_manual(values = c("#8d8741","#659dbd","#daad86","#bc986a","#fbeec1"))+
  scale_y_continuous(limits=c(5000,25000),oob = rescale_none)+ # mengatur scale sumbu y
  geom_label(data = . %>% group_by(year) %>% summarise(m=sum(value)), # agregat data
             aes(label = paste0(m), x = year, y=m), # label pada bar
             vjust = +1.5, # posisi label
             show.legend = FALSE)+ # tidak menggunakan legend
  theme(plot.title = element_text(size=14, face="bold.italic", margin=margin(0,0,15,0)))+ # pengaturan font judul plot
  ggtitle("Deaths from Lung Disesase")+ # judul plot
  labs(x="Year", y=NULL) # mengatur judul sumbu x dan y

Catatan Pelanggaran

Daftar pelanggaran 6 prinsip desain:

Prinsip Deskripsi Pelanggaran
Apprehension (Pemahaman) Data time series ldeath yang berisi data per bulan di-plot menggunakan summary data per tahun sehingga tidak dapat terlihat fluktuasi data per bulan sepanjang tahun 1974 - 1979 secara tepat. Selain itu, pemilihan tipe grafik (bar chart) yang kurang tepat untuk data time series membuat hubungan di antara data menjadi tidak mudah untuk dipahami.
Clarity (Kejelasan) Penggunaan bar chart untuk memetakan data time series membuat perbedaan level data menjadi tidak jelas. Tidak adanya penjelasan (label) pada sumbu Y juga membuat data menjadi kurang jelas.
Consistency (Konsistensi) Grafik ini menjadi tidak konsisten karena kesalahan dalam memilih tipe grafik untuk menampilkan data, karena data time series selalu ditampilkan dalam plot garis. Selain itu, data tahun 1977 yang tidak ditampilkan membuat interpretasi perbandingan jumlah kasus kematian karena lung diseases di UK dari tahun 1974 s.d. 1979 dari grafik tersebut menjadi kurang konsisten, untuk menampilkan data time series kurun waktu harus lengkap tanpa ada data yang hilang.
Efficiency (Efisien) Perbedaan warna bar berdasarkan jumlah kematian per tahun tidak efisien dalam melihat pola data time series.
Necessity (Kebutuhan) Pemberian label jumlah kasus pada setiap bar tidak diperlukan karena sudah ada skala yang ditampilkan pada sumbu Y (sebaiknya pilih salah satu, ingin menampilkan label jumlah kasus di setiap bar atau menampilkan skala di sumbu Y), dan pembedaan warna berdasarkan tahun juga tidak diperlukan karena setiap bar memiliki makna yang sama yaitu jumlah orang yang meninggal karena lung diseases di UK.
Truthfulness (Keadaan yang sebenarnya) Data tidak di-plot dengan benar karena menggunakan tipe grafik yang kurang tepat untuk menampilkan data time series. Selain itu, data tidak ditampilkan sesuai dengan keadaan sebenarnya karena ada data satu tahun yaitu tahun 1977 yang tidak ditampilkan. Sehingga, akan menjadi kurang tepat jika kita menyimpulkan jumlah kematian akibat lung diseases di UK menurun dari tahun 1974 sampai dengan 1979 dengan hanya melihat grafik tersebut. Tidak ditampilkannya data tahun 1977 membuat yang sebenarnya tidak terlihat.

Perbaikan Grafik Kelompok 3

Data Kelompok 3

Data yang digunakan adalah data Titanic yang berada di dalam datasets R.

This data set provides information on the fate of passengers on the fatal maiden voyage of the ocean liner ‘Titanic’, summarized according to economic status (class), sex, age and survival.

Titanic=as.data.frame(datasets::Titanic)
head(Titanic)

Selanjutnya, kelompok 3 melakukan penghitungan jumlah penumpang yang selamat berdasarkan jenis kelamin:

Laki= Titanic %>% filter((Sex=='Male') & Survived=='Yes')  %>% summarise(sum(Freq))
Perempuan=Titanic %>% filter((Sex=='Female') & Survived=='Yes')  %>% summarise(sum(Freq))

Grafik Kelompok 3 yang Melanggar Prinsip ACCENT

Grafik banyaknya penumpang yang selamat pada peristiwa TITANIC yang melanggar prinsip ACCENT:

qplot(x=c(1,3),
      y=c(367,344),
      geom = "point",
      colour="Laki-laki dan Perempuan",
      main="Penumpang Titanic Selamat",
      xlab = "Laki-laki dan Perempuan",
      ylab="Jumlah",ylim=c(0,1000))

Perbaikan Grafik Kelompok 3 yang Melanggar Prinsip ACCENT

Kelompok 1 mencoba melakukan penyesuaian Grafik banyaknya penumpang yang selamat pada peristiwa TITANIC berdasarkan jenis kelamin yang melanggar prinsip ACCENT dari kelompok 3 dengan melakukan beberapa perubahan.

Menurut kami, jika hanya menampilkan 2 kategori, yaitu jenis kelamin laki-laki dan perempuan pada grafik batang (bar chart) merupakan sesuatu yang kurang informatif.

Oleh karena itu, kami menyarankan untuk menampilkan informasi lainnya yang terdapat pada datasets TITANIC ini. Misalnya dengan menambahkan informasi Class seperti pada tampilan grafik berikut:

b <- as.data.frame(Titanic)
b <- b %>% 
  filter(Survived =="Yes") 
p <- ggplot(b, # data yang digunakan
            aes(x=Sex,
                y=Freq,
                fill= Class))+
  geom_bar(stat = "identity", width= 0.6, position = "dodge")+
  scale_fill_manual(values = c("#e7717d","#7e685a", "#666699", "#afd275"))+
  scale_y_continuous(limits=c(0,200),oob = rescale_none)+
  theme(plot.title = element_text(size=12, face="bold.italic", margin=margin(0,0,15,0)))+
  ggtitle("Number of Survival Passengers on The Titanic Based On Sex and Class")+
  labs(x="Sex", y="Number of Survival Passengers")

ggplotly(p, tooltip = c("y", "text"))  %>% layout(legend=list(x = 0.01, y = 0.95, title=list(text='Class')))

Catatan Pelanggaran, Perbaikan, dan Perbandingan Grafik Kelompok 3

Daftar pelanggaran, perbaikan, dan perbandingan 6 prinsip desain pada visualisasi data kelompok 3:

Prinsip Deskripsi Pelanggaran Deskripsi Perbaikan Perbandingan
Apprehension (Pemahaman) Hubungan di antara data tidak digambarkan dengan benar. Data yang digunakan memiliki 2 kategori yang berbeda, seharusnya diberikan perbedaan warna untuk membedakan kategori. Selain itu sumbu x dan sumbu y tidak dituliskan dengan benar, seharusnya sumbu y berkisar di nilai 300. Diberikan perbedaan warna untuk masing-masing kelas (class) penumpang, serta diberikan perbaikan label (penamaan) pada sumbu X dan sumbu Y. Limit (skala) pada sumbu Y juga sudah diperbaiki. Sesuai dengan diskusi
Clarity (Kejelasan) Elemen-elemen grafik tidak dibedakan dengan jelas secara visual. Hal ini karena setiap level yaitu untuk level laki-laki dan perempuan diberikan warna yang sama. Diberikan warna bar yang berbeda untuk setiap class. Sesuai dengan diskusi
Consistency (Konsistensi) Penafsiran grafik tidak berdasarkan keterpaparan pada grafik serupa di masa lalu atau tidak menggunakan standar universal yang wajar. Untuk menampilkan data dengan 2 kategori seperti berikut, biasanya digunakan barchart dan bukan scatter plot. Digunakan bar chart untuk menampilkan data banyaknya penumpang yang selamat pada peristiwa TITANIC berdasarkan jenis kelamin dan class, bukan menggunakan scatter plot. Sesuai dengan diskusi
Efficiency (Efisien) Grafik tidak menggambarkan data dengan cara sesederhana mungkin karena pada sumbu y digunakan nilai dengan batas terlalu tinggi yaitu sampai nilai 1000. Batasan nilai (skala) pada sumbu Y telah diperbaiki, digunakan skala dari 0 sampai 200 yang telah menyesuaikan range dari Number of Survival Passengers. Sesuai dengan diskusi
Necessity (Kebutuhan) Kebutuhan grafik tidak terpenuhi, yaitu perbedaan warna di setiap kategori dan rentang nilai pada sumbu y yang terlalu lebar serta ketidaksesuaian sumbu x yang digunakan. Data dengan 2 kategori yang tidak terlalu berbeda tidak sesuai kebutuhan jika divisualisasi, sehingga untuk menggali informasi yang lebih banyak, dibuat visualisasi dengan ditambahkan variabel class. Diberikan perbedaan warna bar untuk masing - masing class. Selain itu, ditambahkan juga label dan skala yang sesuai untuk sumbu X. Sesuai dengan diskusi
Truthfulness (Keadaan yang sebenarnya) Data di-plot dengan tidak baik dalam sistem koordinat karena terdapat kesalahan pada sumbu x dan y. Plot data telah diperbaiki, yaitu pada sumbu X berupa variabel kategorik (jenis kelamin/sex) yang dibagi berdasarkan class penumpang, dan sumbu Y berupa variabel jumlah (Number of Survival Passengers). Sesuai dengan diskusi

Referensi

Nurussadad, A.A. (March 3, 2021). Visualisasi Data dengan ggplot2. Retrieved from https://rpubs.com/nurussadad/STA581-04-ggplot2

Ra, A.Z.A. dan Ridwan, M. (March 8, 2021). Visualisasi Data. Retrieved from rpubs/azzahraamonra

Soleh, A.M. (2021). STA581 Sains Data: Visualisasi Data. Retrieved from https://newlms.ipb.ac.id/


  1. Mahasiswa Pascasarjana Statistika dan Sains Data, IPB University, ↩︎

  2. Mahasiswa Pascasarjana Statistika dan Sains Data, IPB University, ↩︎

  3. Mahasiswa Pascasarjana Statistika dan Sains Data, IPB University, ↩︎

  4. Mahasiswa Pascasarjana Statistika dan Sains Data, IPB University, ↩︎