Ana içeriğe atla

R'da ggplot2 Histogramı: Örneklerle Eksiksiz Öğretici

R’da ggplot2 histogramlarını temel grafiklerden renklendirilmiş, fasetli ve yoğunluk bindirmeli görselleştirmelere kadar oluşturmayı ve özelleştirmeyi öğrenin.
Güncel 3 Eki 2026  · 7 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Histogramlar, bir veri kümesinin dağılım şekline bir bakışta ışık tutar. Bu öğreticide, R’ın en yaygın kullanılan çizim kütüphanesi ve tidyverse ekosisteminin çekirdek bir parçası olan ggplot2 ile histogramların nasıl oluşturulacağını ve özelleştirileceğini adım adım göstereceğim. ggplot2, grafik dilbilgisi yaklaşımını izler ve çizim öğelerini katmanlayarak karmaşık görselleştirmeler oluşturmanıza olanak tanır. Taban R yaklaşımı için, base R ile histogram öğreticimize bakın.

Özet

  • Histogram çizmek için ggplot() çağrısının içinde geom_histogram() kullanın

  • Sütun sayısını bins ile veya sütun genişliğini binwidth ile geom_histogram() içinde denetleyin

  • Çubuk renklerini color (çerçeve) ve fill (iç dolgu) argümanlarıyla özelleştirin

  • y = after_stat(density) ayarlandıktan sonra geom_density() ile bir yoğunluk eğrisi bindirin

  • Kategorilere göre bölmek için aes() içinde fill = variable veya ayrı paneller için facet_grid() kullanın

Histogram Nedir?

Histogramlar, sürekli (sayısal) değişkenler boyunca frekans dağılımlarını gösteren görselleştirmelerdir. Sürekli değişkenin kapsadığı aralıklar içinde gözlem sayılarını görmemizi sağlarlar.

ggplot2 ile Başlarken

Bu öğreticiyi takip etmek için R ve şu paketlerin kurulu olması gerekir: ggplot2, readr ve dplyr. Bir sonraki bölümdeki kod, henüz kurmadıysanız bunları yükler.

Paketlerin kurulması

Önce library fonksiyonunu kullanarak ggplot2 kütüphanesini içe aktarmamız gerekecek. Bu, ggplot2 kütüphanesindeki tüm yerleşik fonksiyonları getirir. Eğer ggplot2’yi henüz kurmadıysanız, install.packages() komutunu çalıştırarak kurmanız gerekir. Aynısını bir CSV dosyasını okumamıza olanak tanıyacak readr kütüphanesi ve okuduğumuz verilerle daha kolay çalışmamızı sağlayan dplyr için de yapacağız. 

install.packages("ggplot2")
install.packages("readr")
install.packages("dplyr")
library(ggplot2)
library(readr)
library(dplyr)

Veri kümesinin yüklenmesi

Bu öğretici için, farklı ev ilanlarına dair evin büyüklüğü, oda sayısı, fiyat ve konum bilgileri gibi ayrıntıları içeren şu konut veri setini kullanacağız. 

Verileri read_csv() fonksiyonunu kullanarak okuyabiliriz. Veriyi doğrudan URL’den okuyabilir ya da CSV dosyasını bir dizine indirip yerel depolamadan okuyabiliriz. read_csv()’nin ilk özniteliği verinin konumudur ve col_select özniteliği ilgilendiğimiz sütunları seçmemize olanak tanır. 

home_data <- read_csv(
    "https://raw.githubusercontent.com/rashida048/Datasets/master/home_data.csv",
    col_select = c(price, condition)
)

Daha sonra head() fonksiyonunu kullanarak verinin ilk birkaç satırına bakabiliriz:

head(home_data)

Fiyat ve condition sütunlarını gösteren konut veri setinin ilk satırları

ggplot2 ile Histogram Nasıl Yapılır

Artık histogramı oluşturabiliriz. ggplot2’de hangi türde bir grafik yaparsak yapalım, her zaman çizim öğeleri ekleyebileceğimiz bir tuval oluşturan ggplot() fonksiyonu ile başlarız. İki parametre alır.

  • İlk argüman bir veri çerçevesidir. Burada home_data’yı kullanmak istiyoruz.

  • İkinci argüman, veri çerçevesindeki sütunların grafik estetiklerine eşlenmesidir. Bu eşleme aes() fonksiyonunu çağırmalıdır. Burada price sütununu x eksenine eşliyoruz.

Şu ana kadarki kodumuz

ggplot(data = home_data, aes(x = price))

Bu tek başına faydalı bir şey çizmez. Bunu bir histograma dönüştürmek için geom_histogram() ile histogram geometrisi ekleriz.

ggplot(data = home_data, aes(x = price)) +
  geom_histogram()

Konut fiyatlarının temel ggplot2 histogramı

geom_vline() kullanarak histograma betimleyici istatistikler ekleyin

Grafiğimize betimleyici istatistikler eklemek için geom_vline() fonksiyonunu kullanabiliriz. Bu, grafiğe dikey bir çizgi geometrisi ekler.

Önce dplyr’ın summarize() fonksiyonunu kullanarak bu durumda ortalama fiyat olan bir betimleyici istatistik hesaplarız.

price_stats <- home_data |>
summarize(mean_price = mean(price))
price_stats
# A tibble: 1 × 1
  mean_price
      <dbl>
1    540088.

Fonksiyon xintercept parametresini ve isteğe bağlı olarak sırasıyla çizgilerin rengini ve kalınlığını özelleştirmek için color ve linewidth özniteliklerini alır. Önceki bölümde yaptığımız gibi artı işaretiyle bir ortalama çizgisi ekleyeceğiz.

ggplot(home_data, aes(x = price)) +
    geom_histogram() +
    geom_vline(aes(xintercept = mean_price), price_stats, color = "red", linewidth = 2)

geom_ fonksiyonlarında, eşleme ve veri argümanlarının ggplot()’a kıyasla yer değiştirdiğine dikkat edin.

geom_vline() ile eklenmiş kırmızı dikey ortalama fiyat çizgisine sahip ggplot2 histogramı

Sayım Yerine Olasılık Yoğunluklarını Çizmek

Histograma bir olasılık yoğunluğu çizgisi eklemek için önce y eksenini yoğunluğa ölçeklendiririz. aes() fonksiyonunda y’yi after_stat(density) olarak ayarlarız. 

Ardından grafiğimize geom_density() fonksiyonunu kullanarak bir yoğunluk katmanı ekleyebiliriz. Burada color özniteliğini yeşil ve linewidth özniteliğini 2 olarak ayarlıyoruz.

ggplot(home_data, aes(x = price, y = after_stat(density))) +
    geom_histogram() +
    geom_vline(aes(xintercept = mean_price), price_stats, color = "red", linewidth = 2) +
    geom_density(color = "green", linewidth = 2)

image4.png

Y eksenindeki sayıların değiştiğine dikkat edin.

Her katmanın aynı deseni izlediğine dikkat edin: bir + işareti, bir fonksiyon çağrısı ve isteğe bağlı argümanlar. Her kombinasyon için söz dizimini yeniden öğrenmeden geom_ fonksiyonları, istatistikler ve temalar ekleyebilirsiniz.

bins kullanarak aralıklamayı güncelleyin

ggplot2 histogramımızın aralıklamasını bins özniteliğini kullanarak güncelleyebiliriz. Grafiğimizde göstermek istediğimiz sütun sayısına eşit olacak şekilde bu özniteliği ayarlarız. Bu, histogramımızda daha ayrıntılı ya da daha kaba verileri görmemize yardımcı olur. 

ggplot(data = home_data, aes(x = price)) +
  geom_histogram(bins = 100)

image12.png

Ayrıca geom_histogram()’ın binwidth özniteliğini kullanarak sütun genişliğini elle ayarlayabiliriz.

ggplot(data = home_data, aes(x = price)) +
  geom_histogram(binwidth = 50000)

image5.png

Son olarak, sınırları center veya boundary özniteliklerini kullanarak hizalayabilirsiniz. Sütun sınırlarının belirli katlara denk gelmesini isterseniz bu öznitelikleri kullanabilirsiniz (aynı anda yalnızca biri kullanılabilir). Sütunların tam sayı değerlerine denk gelmesini sağlamak için özniteliği 1’e ayarlayın.   

ggplot(data = home_data, aes(x = price)) +
  geom_histogram(boundary = 1)

boundary argümanı kullanılarak sütun sınırları hizalanmış ggplot2 histogramı

Histogramın rengini özelleştirin

Bu bölümde histogramın renklerini değiştireceğiz. Her çubuğun dış çizgilerinin rengini color özniteliğiyle özelleştirebilir, çubukların dolgusunu ise geom_histogram()’ın fill özniteliğiyle değiştirebiliriz. Çubukları mavi ile dolduracak ve çerçeve rengini beyaz yapacağız. 

ggplot(data = home_data, aes(x = price)) +
  geom_histogram(color = "white", fill = "blue")

Beyaz çubuk kenarlıkları ve mavi dolguya sahip ggplot2 histogramı

Gruplara göre ggplot2 histogramının rengini özelleştirin

Histogram çubuklarının renklerini özelleştirebilirsiniz. 

aes() fonksiyonu içinde fill estetiğini değiştirmek, veri setindeki bir değişkenin değerine göre çubukların iç renklerini ayarlar. Bu değişken tamsayı yerine kategorik (faktör) olmalıdır; bu yüzden factor() fonksiyonu ile dönüştürebiliriz. Bu örnekte 1 (kötü durum) ile 5 (çok iyi durum) arasında bir değere sahip olan condition değişkenine bakacağız. 

home_data <- home_data |>
    mutate(condition = factor(condition))

ggplot(data = home_data, aes(x = price, fill = condition)) +
    geom_histogram()

Konut durumu kategorisine göre renklendirilmiş çubuklara sahip ggplot2 histogramı

labs() kullanarak etiketler ve başlıklar ekleyin

Şimdi labs() fonksiyonunu kullanarak grafiğimize başlıklar ve etiketler ekliyoruz. x, y ve title özniteliklerini istediğimiz etiketlere ayarlıyoruz. 

ggplot(data = home_data, aes(x = price)) +
  geom_histogram() +
  labs(x ='Price (USD)', y='Number of Listings', title = 'Housing Price Distributions')

Özel x ekseni, y ekseni ve başlık etiketlerine sahip ggplot2 histogramı

xlim() kullanarak x ekseni sınırlarını ayarlama

İlgilendiğimiz verilere yakınlaştırmak için xlim() fonksiyonunu kullanarak grafiğimizin x ekseni sınırlarını ayarlayabiliriz. Örneğin, tüm grafiği görüntülediğimizde gördüğümüz uzun kuyruk yerine dağılımın orta kısmına odaklanmak bazen faydalıdır. 

Y ekseni sınırlarını değiştirmek de mümkündür (ylim() kullanarak), ancak histogramlar için bu daha az kullanışlıdır çünkü otomatik hesaplanan değerler neredeyse her zaman idealdir.

0 ile 2 M$ arasındaki fiyatlara yakınlaşacağız.

ggplot(home_data, aes(x = price)) +
    geom_histogram(bins = 100) +
    xlim(0, 2000000)

xlim() kullanılarak 0 ile 2 M$ arasına yakınlaştırılmış ggplot2 histogramı

Lejant konumunu değiştirme

Grafiğimizde lejandı taşımak istersek, örneğin durumu farklı renklerle görselleştirdiğimizde, theme() fonksiyonunu ve legend.position özniteliğini kullanabiliriz. legend.position’ın alacağı değerler “bottom”, “top”, “left” veya “right”’tır. Ayrıca lejandın bulunmasını istediğiniz koordinatları c(x, y) kullanarak geçebilirsiniz.

ggplot(home_data, aes(x = price, fill = condition)) +
    geom_histogram() +
    theme(legend.position = "bottom")

ggplot2’de fasetler kullanma

Son olarak, fasetler kullanarak verileri farklı gruplarda ayrı grafiklerde görselleştirebiliriz. Bu, her kategori için görselleştirmeyi birkaç alt grafiğe böler. Bunu facet_grid() fonksiyonu ile yapabiliriz. Aşağıda farklı condition değerlerine göre fiyat dağılımlarını görselleştireceğiz. 

ggplot(home_data, aes(x = price)) +
  geom_histogram() +  facet_grid(vars(condition))

Fasetler R’da ggplot için Fasetler öğreticisinde daha ayrıntılı ele alınmaktadır.

image2.png

Son Düşünceler

ggplot2’de histogram oluşturmak için temeli ggplot() ile kurun, veri çerçevenizi ve aes() eşlemelerini geçin, ardından geom_histogram() ekleyin. Buradan sonra özelleştirmeleri katmanlayın: eksen başlıkları için labs(), x eksenini yakınlaştırmak için xlim() ve lejandı yeniden konumlandırmak veya görsel stili ayarlamak için theme().

ggplot2, R’da Veri Görselleştirme yetkinlik yolunda derinlemesine ele alınır ve ggplot2 ile Veri Görselleştirmeye Giriş dersiyle başlar. ggplot2’yi diğer tidyverse araçlarıyla birleştirmeyi R ile Tidyverse Temelleri yetkinlik yolunda öğrenebilirsiniz.

Histogramların ötesindeki diğer ggplot2 grafik türleri için ggplot2 ile Grafikler öğreticimize bakın ve pratik bir başvuru için ggplot2 cheat sheet’ini indirin.


Author
Kevin Babitz
LinkedIn

Veri Bilimi yazarı | Wayfair'da Kıdemli Teknik Pazarlama Analisti | University of Pennsylvania'da Veri Bilimi Yüksek Lisansı (MSE)

Konular
R
Veri Bilimi
Veri Görselleştirme

DataCamp ile R öğrenin!

Kurs

ggplot2 ile Veri Görselleştirmeye Giriş

4 sa
191.2K
Grafiklerin dilbilgisini anlayarak ggplot2 ile anlamlı ve güzel veri görselleştirmeleri üretmeyi öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör