1) Paketlerin yüklenmesi ve verinin hazırlanması

install.packages("dplyr")
install.packages("ggplot2")
install.packages("gapminder")

library(tidyverse)
library(dplyr)
library(ggplot2)
library(gapminder)

Verinin içeri aktarıldığından emin olalım

View(gapminder)

Veri setindeki değişkenleri türkçeleştirelim

tr_isim <- c("ülke","kıta","yıl","yaşam_süresi","nüfus","kişi_başı_milli_gelir")
colnames(gapminder) <- tr_isim
View(gapminder)

3)Temel Grafikler

a) Çubuk ve sütun grafikler

Kıtalardaki yaşam süresi 1952’den 2007 yılları arasında nasıl değişmiş bakalım

ggplot(gapminder, aes(yıl, yaşam_süresi, fill = kıta))+geom_col()

Anlamlı bir grafik oluşturabilmemiz için yığılı sutun grafik yerine çoklu çubuk grafik oluşturmalıyız

ggplot(gapminder, aes(yıl, yaşam_süresi, fill = kıta))+geom_col(position = "dodge")

b)dağılım grafiği

Önce veriyi filtreleyelim

gapminder_2007<- filter(gapminder,yıl == 2007)

Ve görselleştirelim

ggplot(gapminder_2007, aes(yaşam_süresi,kişi_başı_milli_gelir, color = kıta))+geom_point()

Estetik bir görsel oluşturmak için veri noktalarını büyütelim

ggplot(gapminder_2007, aes(yaşam_süresi,kişi_başı_milli_gelir, color = kıta)) +geom_point(size = 4, alpha = 0.7)

Grafiğe başlık ekleyelim ve eksen isimlerini düzenleyelim

ggplot(gapminder_2007, aes(yaşam_süresi,kişi_başı_milli_gelir, color = kıta)) +geom_point(size = 4, alpha = 0.7)+
       labs(x="yaşam süresi",
       y ="kişi başına düşen milli gelir",
       title = "5 Kıtada Yaşam Süresi ve Kişi Başına Düşen Milli Gelir İlişkisi",
       subtitle = "Veri Kaynağı: Gapminder, 2007", 
       caption = "@demirelsadettin")

4) Renk seçimi

renk <- c("#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00")
ggplot(gapminder_2007, aes(yaşam_süresi,kişi_başı_milli_gelir, color = kıta)) +geom_point(size = 4, alpha = 0.7)+
       labs(x="yaşam süresi",
       y ="kişi başına düşen milli gelir",
       title = "5 Kıtada Yaşam Süresi ve Kişi Başına Düşen Milli Gelir İlişkisi",
       subtitle = "Veri Kaynağı: Gapminder, 2007", 
       caption = "@demirelsadettin")+
  scale_color_manual(values = renk)

5) Facets

Çubuk Grafik

ggplot(gapminder, aes(yıl, yaşam_süresi, fill = kıta))+
  geom_col(position = "dodge")+
  scale_fill_manual(values = renk)+
  labs(x ="yıl",y="yaşam süresi",
       title ="Son 50 yılda 5 kıtada yaşam süresinin değişimi", 
       subtitle = "Gapminder, 1952 -2007", 
       caption = "@demirelsadettin")+
  facet_wrap(~kıta, ncol =5)

Dağılım Grafiği

ggplot(gapminder, aes(yaşam_süresi,kişi_başı_milli_gelir, color = kıta))+
  geom_point(size = 4, alpha = 0.7) +
  labs(x="yaşam süresi",
       y ="kişi başına düşen milli gelir",
       title = "5 Kıtada Yaşam Süresi ve Kişi Başına Düşen Milli Gelir İlişkisi",
       subtitle = "Veri Kaynağı: Gapminder, 1952-2007", 
       caption = "@demirelsadettin")+
  scale_color_manual(values = renk)+
  facet_wrap(~yıl, ncol = 6)

6) Grafik Temasını düzenleyelim

theme_minimal() temasını kullanalım

dagılım_grafigi <- ggplot(gapminder_2007, aes(yaşam_süresi,kişi_başı_milli_gelir, color = kıta))+
  geom_point(size = 4, alpha = 0.7) +
  labs(x="yaşam süresi",
       y ="kişi başına düşen milli gelir",
       title = "5 Kıtada Yaşam Süresi ile Kişi Başına Düşen Milli Gelir İlişkisi",
       subtitle = "Veri Kaynağı: Gapminder, 2007", 
       caption = "@demirelsadettin")+
  scale_color_manual(values = renk)
dagılım_grafigi + theme_minimal()+theme(legend.position = "bottom")

Özel Tema

theme_custom <- function() {
  theme_minimal() +
    theme(
      text = element_text(family = "Roboto", color = "gray25"),
      plot.title = element_text(face = "bold"),
      plot.subtitle = element_text(size = 11),
      plot.caption = element_text(color = "gray30"),
      plot.background = element_rect(fill = "gray95"),
      legend.position = "bottom",
      legend.title = element_blank()
    )
}
dagılım_grafigi+theme_custom()

Not Çalışmanın tekrarlanabilirliğini etkilediği için çizgi grafik kod dosyasından çıkartılmıştır

by Sadettin Demirel

LS0tCnRpdGxlOiAiUiBFa29zaXN0ZW1pbmRlIGdncGxvdDIgaWxlIHZlcmkgbmFzxLFsIGfDtnJzZWxsZcWfdGlyaWxpcj8iCm91dHB1dDogaHRtbF9ub3RlYm9vawphdXRvcjogU2FkZXR0aW4gRGVtaXJlbAotLS0KCiMjIzEpIFBha2V0bGVyaW4gecO8a2xlbm1lc2kgdmUgdmVyaW5pbiBoYXrEsXJsYW5tYXPEsQoKYGBge3J9Cmluc3RhbGwucGFja2FnZXMoImRwbHlyIikKaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpCmluc3RhbGwucGFja2FnZXMoImdhcG1pbmRlciIpCgpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShkcGx5cikKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdhcG1pbmRlcikKYGBgCgpWZXJpbmluIGnDp2VyaSBha3RhcsSxbGTEscSfxLFuZGFuIGVtaW4gb2xhbMSxbQpgYGB7cn0KVmlldyhnYXBtaW5kZXIpCmBgYAoKVmVyaSBzZXRpbmRla2kgZGXEn2nFn2tlbmxlcmkgdMO8cmvDp2VsZcWfdGlyZWxpbQoKYGBge3J9CnRyX2lzaW0gPC0gYygiw7xsa2UiLCJrxLF0YSIsInnEsWwiLCJ5YcWfYW1fc8O8cmVzaSIsIm7DvGZ1cyIsImtpxZ9pX2JhxZ/EsV9taWxsaV9nZWxpciIpCmNvbG5hbWVzKGdhcG1pbmRlcikgPC0gdHJfaXNpbQpWaWV3KGdhcG1pbmRlcikKYGBgCgojIyMzKVRlbWVsIEdyYWZpa2xlcgoKIyMjI2EpIMOHdWJ1ayB2ZSBzw7x0dW4gZ3JhZmlrbGVyCkvEsXRhbGFyZGFraSB5YcWfYW0gc8O8cmVzaSAxOTUyJ2RlbiAyMDA3IHnEsWxsYXLEsSBhcmFzxLFuZGEgbmFzxLFsIGRlxJ9pxZ9tacWfIGJha2FsxLFtCmBgYHtyfQpnZ3Bsb3QoZ2FwbWluZGVyLCBhZXMoecSxbCwgeWHFn2FtX3PDvHJlc2ksIGZpbGwgPSBrxLF0YSkpK2dlb21fY29sKCkKYGBgCgpBbmxhbWzEsSBiaXIgZ3JhZmlrIG9sdcWfdHVyYWJpbG1lbWl6IGnDp2luIHnEscSfxLFsxLEgc3V0dW4gZ3JhZmlrIHllcmluZSDDp29rbHUgw6d1YnVrIGdyYWZpayBvbHXFn3R1cm1hbMSxecSxegoKYGBge3J9CmdncGxvdChnYXBtaW5kZXIsIGFlcyh5xLFsLCB5YcWfYW1fc8O8cmVzaSwgZmlsbCA9IGvEsXRhKSkrZ2VvbV9jb2wocG9zaXRpb24gPSAiZG9kZ2UiKQpgYGAKCiMjIyMgYilkYcSfxLFsxLFtIGdyYWZpxJ9pCgrDlm5jZSB2ZXJpeWkgZmlsdHJlbGV5ZWxpbQoKYGBge3J9CmdhcG1pbmRlcl8yMDA3PC0gZmlsdGVyKGdhcG1pbmRlcix5xLFsID09IDIwMDcpCmBgYAoKVmUgZ8O2cnNlbGxlxZ90aXJlbGltCgpgYGB7cn0KZ2dwbG90KGdhcG1pbmRlcl8yMDA3LCBhZXMoeWHFn2FtX3PDvHJlc2ksa2nFn2lfYmHFn8SxX21pbGxpX2dlbGlyLCBjb2xvciA9IGvEsXRhKSkrZ2VvbV9wb2ludCgpCmBgYAoKRXN0ZXRpayBiaXIgZ8O2cnNlbCBvbHXFn3R1cm1hayBpw6dpbiB2ZXJpIG5va3RhbGFyxLFuxLEgYsO8ecO8dGVsaW0KCmBgYHtyfQpnZ3Bsb3QoZ2FwbWluZGVyXzIwMDcsIGFlcyh5YcWfYW1fc8O8cmVzaSxracWfaV9iYcWfxLFfbWlsbGlfZ2VsaXIsIGNvbG9yID0ga8SxdGEpKSArZ2VvbV9wb2ludChzaXplID0gNCwgYWxwaGEgPSAwLjcpCmBgYAoKCkdyYWZpxJ9lIGJhxZ9sxLFrIGVrbGV5ZWxpbSB2ZSBla3NlbiBpc2ltbGVyaW5pIGTDvHplbmxleWVsaW0KCmBgYHtyfQpnZ3Bsb3QoZ2FwbWluZGVyXzIwMDcsIGFlcyh5YcWfYW1fc8O8cmVzaSxracWfaV9iYcWfxLFfbWlsbGlfZ2VsaXIsIGNvbG9yID0ga8SxdGEpKSArZ2VvbV9wb2ludChzaXplID0gNCwgYWxwaGEgPSAwLjcpKwogICAgICAgbGFicyh4PSJ5YcWfYW0gc8O8cmVzaSIsCiAgICAgICB5ID0ia2nFn2kgYmHFn8SxbmEgZMO8xZ9lbiBtaWxsaSBnZWxpciIsCiAgICAgICB0aXRsZSA9ICI1IEvEsXRhZGEgWWHFn2FtIFPDvHJlc2kgdmUgS2nFn2kgQmHFn8SxbmEgRMO8xZ9lbiBNaWxsaSBHZWxpciDEsGxpxZ9raXNpIiwKICAgICAgIHN1YnRpdGxlID0gIlZlcmkgS2F5bmHEn8SxOiBHYXBtaW5kZXIsIDIwMDciLCAKICAgICAgIGNhcHRpb24gPSAiQGRlbWlyZWxzYWRldHRpbiIpCmBgYAogCgojIyM0KSBSZW5rIHNlw6dpbWkKCmBgYHtyfQpyZW5rIDwtIGMoIiNlNDFhMWMiLCIjMzc3ZWI4IiwiIzRkYWY0YSIsIiM5ODRlYTMiLCIjZmY3ZjAwIikKZ2dwbG90KGdhcG1pbmRlcl8yMDA3LCBhZXMoeWHFn2FtX3PDvHJlc2ksa2nFn2lfYmHFn8SxX21pbGxpX2dlbGlyLCBjb2xvciA9IGvEsXRhKSkgK2dlb21fcG9pbnQoc2l6ZSA9IDQsIGFscGhhID0gMC43KSsKICAgICAgIGxhYnMoeD0ieWHFn2FtIHPDvHJlc2kiLAogICAgICAgeSA9ImtpxZ9pIGJhxZ/EsW5hIGTDvMWfZW4gbWlsbGkgZ2VsaXIiLAogICAgICAgdGl0bGUgPSAiNSBLxLF0YWRhIFlhxZ9hbSBTw7xyZXNpIHZlIEtpxZ9pIEJhxZ/EsW5hIETDvMWfZW4gTWlsbGkgR2VsaXIgxLBsacWfa2lzaSIsCiAgICAgICBzdWJ0aXRsZSA9ICJWZXJpIEtheW5hxJ/EsTogR2FwbWluZGVyLCAyMDA3IiwgCiAgICAgICBjYXB0aW9uID0gIkBkZW1pcmVsc2FkZXR0aW4iKSsKICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gcmVuaykKYGBgCgojIyM1KSBGYWNldHMKCiMjIyMgw4d1YnVrIEdyYWZpawoKYGBge3J9CmdncGxvdChnYXBtaW5kZXIsIGFlcyh5xLFsLCB5YcWfYW1fc8O8cmVzaSwgZmlsbCA9IGvEsXRhKSkrCiAgZ2VvbV9jb2wocG9zaXRpb24gPSAiZG9kZ2UiKSsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSByZW5rKSsKICBsYWJzKHggPSJ5xLFsIix5PSJ5YcWfYW0gc8O8cmVzaSIsCiAgICAgICB0aXRsZSA9IlNvbiA1MCB5xLFsZGEgNSBrxLF0YWRhIHlhxZ9hbSBzw7xyZXNpbmluIGRlxJ9pxZ9pbWkiLCAKICAgICAgIHN1YnRpdGxlID0gIkdhcG1pbmRlciwgMTk1MiAtMjAwNyIsIAogICAgICAgY2FwdGlvbiA9ICJAZGVtaXJlbHNhZGV0dGluIikrCiAgZmFjZXRfd3JhcCh+a8SxdGEsIG5jb2wgPTUpCmBgYAoKIyMjIyBEYcSfxLFsxLFtIEdyYWZpxJ9pCgpgYGB7cn0KZ2dwbG90KGdhcG1pbmRlciwgYWVzKHlhxZ9hbV9zw7xyZXNpLGtpxZ9pX2JhxZ/EsV9taWxsaV9nZWxpciwgY29sb3IgPSBrxLF0YSkpKwogIGdlb21fcG9pbnQoc2l6ZSA9IDQsIGFscGhhID0gMC43KSArCiAgbGFicyh4PSJ5YcWfYW0gc8O8cmVzaSIsCiAgICAgICB5ID0ia2nFn2kgYmHFn8SxbmEgZMO8xZ9lbiBtaWxsaSBnZWxpciIsCiAgICAgICB0aXRsZSA9ICI1IEvEsXRhZGEgWWHFn2FtIFPDvHJlc2kgdmUgS2nFn2kgQmHFn8SxbmEgRMO8xZ9lbiBNaWxsaSBHZWxpciDEsGxpxZ9raXNpIiwKICAgICAgIHN1YnRpdGxlID0gIlZlcmkgS2F5bmHEn8SxOiBHYXBtaW5kZXIsIDE5NTItMjAwNyIsIAogICAgICAgY2FwdGlvbiA9ICJAZGVtaXJlbHNhZGV0dGluIikrCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IHJlbmspKwogIGZhY2V0X3dyYXAofnnEsWwsIG5jb2wgPSA2KQpgYGAKCgojIyM2KSBHcmFmaWsgVGVtYXPEsW7EsSBkw7x6ZW5sZXllbGltCgojIyMjdGhlbWVfbWluaW1hbCgpIHRlbWFzxLFuxLEga3VsbGFuYWzEsW0KCmBgYHtyfQpkYWfEsWzEsW1fZ3JhZmlnaSA8LSBnZ3Bsb3QoZ2FwbWluZGVyXzIwMDcsIGFlcyh5YcWfYW1fc8O8cmVzaSxracWfaV9iYcWfxLFfbWlsbGlfZ2VsaXIsIGNvbG9yID0ga8SxdGEpKSsKICBnZW9tX3BvaW50KHNpemUgPSA0LCBhbHBoYSA9IDAuNykgKwogIGxhYnMoeD0ieWHFn2FtIHPDvHJlc2kiLAogICAgICAgeSA9ImtpxZ9pIGJhxZ/EsW5hIGTDvMWfZW4gbWlsbGkgZ2VsaXIiLAogICAgICAgdGl0bGUgPSAiNSBLxLF0YWRhIFlhxZ9hbSBTw7xyZXNpIGlsZSBLacWfaSBCYcWfxLFuYSBEw7zFn2VuIE1pbGxpIEdlbGlyIMSwbGnFn2tpc2kiLAogICAgICAgc3VidGl0bGUgPSAiVmVyaSBLYXluYcSfxLE6IEdhcG1pbmRlciwgMjAwNyIsIAogICAgICAgY2FwdGlvbiA9ICJAZGVtaXJlbHNhZGV0dGluIikrCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IHJlbmspCmBgYAoKYGBge3J9CmRhZ8SxbMSxbV9ncmFmaWdpICsgdGhlbWVfbWluaW1hbCgpK3RoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iKQpgYGAKCiMjIyMgw5Z6ZWwgVGVtYQoKYGBge3J9CnRoZW1lX2N1c3RvbSA8LSBmdW5jdGlvbigpIHsKICB0aGVtZV9taW5pbWFsKCkgKwogICAgdGhlbWUoCiAgICAgIHRleHQgPSBlbGVtZW50X3RleHQoZmFtaWx5ID0gIlJvYm90byIsIGNvbG9yID0gImdyYXkyNSIpLAogICAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGZhY2UgPSAiYm9sZCIpLAogICAgICBwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMSksCiAgICAgIHBsb3QuY2FwdGlvbiA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJncmF5MzAiKSwKICAgICAgcGxvdC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAiZ3JheTk1IiksCiAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iLAogICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X2JsYW5rKCkKICAgICkKfQpgYGAKCmBgYHtyfQpkYWfEsWzEsW1fZ3JhZmlnaSt0aGVtZV9jdXN0b20oKQpgYGAKCioqTm90KiogKsOHYWzEscWfbWFuxLFuIHRla3JhcmxhbmFiaWxpcmxpxJ9pbmkgZXRraWxlZGnEn2kgacOnaW4gw6dpemdpIGdyYWZpayBrb2QgZG9zeWFzxLFuZGFuIMOnxLFrYXJ0xLFsbcSxxZ90xLFyKgoKIyMjYnkgW1NhZGV0dGluIERlbWlyZWxdKGh0dHBzOi8vdHdpdHRlci5jb20vZGVtaXJlbHNhZGV0dGluKQ==