Bölüm 7 İleri Düzey Grafik Örnekleri

Bu bölümde veri görselleştirme ile ilgili daha ileri düzey grafiklere ait birkaç örneğe yer verilerek okuyucularla etkileşim oluşturmak amaçlanmıştır. Burada yer alan grafikler, plotly (Sievert, 2020) kütüphanesi kullanılarak oluşturulmuştur. “plotly” paketi ise R yazılımında hem basit grafiklerin hem de 3 boyutlu grafiklerin çiziminde oldukça modern görseller sağlamaktadır. Ek olarak “plotly” paketi R Shiny uygulamalarında sıklıkla kullanılan bir pakettir. Basit ve istatistiksel grafiklerin yanında, bilimsel ve finans grafiklerinin çizimine de olanak sağlamaktadır. Ayrıca harita grafikleri, 3 boyutlu grafikler, çoklu eksenlere dayalı garfikler ile animasyonlar ile oldukça geniş bir veri görselleştirme olanağı sunmaktadır. Eğer elde edilen grafikler çevrim içi ortamlarda yayınlanacak ise plotly bu bakımdan kullanım kolaylığı sağlamaktadır. plot_ly() ana fonksiyonunun yanında birden çok argüman ile birlikte çalıştırılmaktadır. “ggplot2” paketine benzer bir şekilde grafikleri nesnelere kaydederek çizmektedir.

7.1 Anne Eğitim Düzeyi

library(plotly)
data <- miniPISA %>% group_split(Anne_Egitim)
#data[1][[1]]
OD_1 <- density(data[1][[1]]$ODOKUMA1, na.rm = TRUE)
OD_2 <- density(data[2][[1]]$ODOKUMA1, na.rm = TRUE)
OD_3 <- density(data[3][[1]]$ODOKUMA1, na.rm = TRUE)
OD_4 <- density(data[4][[1]]$ODOKUMA1, na.rm = TRUE)
OD_5 <- density(data[5][[1]]$ODOKUMA1, na.rm = TRUE)
OD_6 <- density(data[6][[1]]$ODOKUMA1, na.rm = TRUE)
OD_7 <- density(data[7][[1]]$ODOKUMA1, na.rm = TRUE)

plot_ly() %>%
  add_lines(x = ~OD_1$x, y = ~OD_1$y, name = "Okul_oncesi", fill = 'tozeroy') %>%
  add_lines(x = ~OD_2$x, y = ~OD_2$y, name = "Ilkokul", fill = 'tozeroy') %>%
  add_lines(x = ~OD_3$x, y = ~OD_3$y, name = "Ortaokul", fill = 'tozeroy') %>%
  add_lines(x = ~OD_4$x, y = ~OD_4$y, name = "Lise", fill = 'tozeroy') %>%
  add_lines(x = ~OD_5$x, y = ~OD_5$y, name = "Önlisans", fill = 'tozeroy') %>%
  add_lines(x = ~OD_6$x, y = ~OD_6$y, name = "Lisans", fill = 'tozeroy') %>%
  add_lines(x = ~OD_7$x, y = ~OD_7$y, name = "Lisansustu", fill = 'tozeroy') %>%
  layout(xaxis = list(title = 'Okuma Başarı Puanı (OD1)'),
         yaxis = list(title = 'Yoğunluk'))

7.2 Sosyoekonomik Düzey ve Anne Eğitimi

miniPISA %>%
  plot_ly(x = ~ODOKUMA1, y = ~SES, color = ~factor(Anne_Egitim))  %>%
  add_markers() %>%
    layout(boxmode = "group")%>%
    layout(legend=list(title=list(text='<b> Anne Eğitimi </b>')))%>%
  layout(
    xaxis = list(title = "Okuma Basari Puanı (OD1)" ,range = c(180,810)),
     yaxis = list(title = "Sosyoekonomik Duzey",range = c(-5,4))
  )

7.3 Okul Öncesi Eğitim Süresi ve Anne Eğitimi

miniPISA %>%
  filter(!is.na(Okuloncesi_yil)) %>%
  plot_ly(x = ~Okuloncesi_yil, y = ~ODOKUMA1, color = ~(Anne_Egitim)) %>%
  add_boxplot()  %>% 
    layout(boxmode = "group")%>%
    layout(legend=list(title=list(text='<b> Anne_Egitim </b>')))%>%
    layout(
        xaxis = list(title = "Okul Öncesi Eğitimi Süresi"),
        #title = "Matematik Puanı Dağılımı",
         yaxis = list(title = "Okuma Basari Puanı (OD1)",range = c(180,800)))

7.4 Evdeki Kitap Sayısı

miniPISA %>%
  #filter(!is.na(Okuloncesi_yil)) %>%
  plot_ly(x = ~KITAPSAYISI, y = ~ODOKUMA1) %>%
  add_boxplot()  %>% 
    layout(
        xaxis = list(title = "Evdeki Kitap Sayısı"),
        #title = "Matematik Puanı Dağılımı",
         yaxis = list(title = "Okuma Basari Puanı (OD1)"))

7.5 Evdeki Kitap Sayısı ve Anne Eğitimi

miniPISA %>%
  count(Anne_Egitim,KITAPSAYISI) %>%
  plot_ly(x = ~ KITAPSAYISI, y = ~n, hoverinfo = "y",color=~factor(Anne_Egitim)) %>%
  add_bars()%>%
  #layout(barmode = "stack") %>%
      layout(legend=list(title=list(text='<b> Anne Egitimi </b>')))%>%
     layout(
        xaxis = list(title = "Evdeki Kitap Sayısı"),
         yaxis = list(title = "Frekans",range = c(0,610)))

Kaynaklar

Sievert, C. (2020). Interactive web-based data visualization with r, plotly, and shiny. Chapman and hall/CRC.