Çubuk grafik, x ekseninde kategorik değişkenleri görüntülemenin harika bir yoludur. Bu grafik türü, y eksenindeki iki yönü belirtir.
- İlki, gruplar arasındaki oluşum sayısını sayar.
- İkincisi, y eksenindeki bir değişkenin özet istatistiğini (min, maks, ortalama vb.) Gösterir.
Aşağıdaki değişkenlere sahip mtcars veri kümesini kullanacaksınız:
- cyl: Arabadaki silindir sayısı. Sayısal değişken
- am: İletim türü. 0 otomatik ve 1 manuel için. Sayısal değişken
- mpg: Galon başına mil. Sayısal değişken
Bu eğitimde öğreneceksiniz
- Çubuk Grafik nasıl oluşturulur?
- Çubukların rengini değiştirin
- Yoğunluğu değiştirin
- Gruplara göre renklendirme
- Çubuklara bir grup ekleyin
- Yüzde olarak çubuk grafik
- Yan yana çubuklar
- Histogram
Çubuk Grafik nasıl oluşturulur?
R'de grafik oluşturmak için, yayına hazır grafikler oluşturan ggplot kitaplığını kullanabilirsiniz. Bu kitaplığın temel sözdizimi şöyledir:
ggplot(data, mapping = aes()) +geometric objectarguments:data: dataset used to plot the graphmapping: Control the x and y-axisgeometric object: The type of plot you want to show. The most common objects are:- Point: `geom_point()`- Bar: `geom_bar()`- Line: `geom_line()`- Histogram: `geom_histogram()`
Bu eğitimde, çubuk grafiği oluşturan geometrik nesne geom_bar () ile ilgileniyorsunuz.
Çubuk grafik: sayım
İlk grafiğiniz geom_bar () ile silindirin sıklığını gösterir. Aşağıdaki kod en temel sözdizimidir.
library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()
Kod Açıklama
- Veri kümesi mtcars'ı ggplot'a iletirsiniz.
- Aes () bağımsız değişkeninin içine, x eksenini faktör değişkeni (cyl) olarak eklersiniz
- + İşareti, R'nin kodu okumaya devam etmesini istediğiniz anlamına gelir. Kodu kırarak daha okunaklı hale getirir.
- Geometrik nesne için geom_bar () kullanın.
Çıktı:
Not : Değişkenleri bir faktöre dönüştürdüğünüzden emin olun, aksi takdirde R değişkenleri sayısal olarak değerlendirir. Aşağıdaki örneğe bakın.
Grafiği özelleştirin
Grafiği özelleştirmek için dört argüman iletilebilir:
- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"`- `alpha`: Control density of the color- `fill`: Change the color of the bar- `size`: Control the size the bar
Çubukların rengini değiştirin
Çubukların rengini değiştirebilirsiniz. Çubukların renklerinin hepsinin benzer olduğuna dikkat edin.
# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()
Kod Açıklama
- Çubukların renkleri, geometrik nesne (yani ggplot () içinde değil) içindeki aes () eşlemesi ile kontrol edilir. Rengi dolgu bağımsız değişkenleriyle değiştirebilirsiniz. Burada mercan rengini seçersiniz.
Çıktı:
Bu kodu kullanabilirsiniz:
grDevices::colors()
R'de mevcut tüm renkleri görmek için 650 civarında renk var.
Yoğunluğu değiştirin
Çubukların renginin yoğunluğunu artırabilir veya azaltabilirsiniz
# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()
Kod Açıklama
- Çubuğun yoğunluğunu artırmak / azaltmak için alfa değerini değiştirebilirsiniz. Büyük bir alfa yoğunluğu artırır ve düşük alfa yoğunluğu azaltır. alfa 0 ile 1 arasındadır. 1 ise, renk paletle aynıdır. 0 ise renk beyazdır. Alfa = 0.1'i seçersiniz.
Çıktı:
Gruplara göre renklendirme
Çubukların renklerini, yani her grup için farklı bir renk değiştirebilirsiniz. Örneğin, cyl değişkeninin üç seviyesi vardır, o zaman sütun grafiğini üç renkle çizebilirsiniz.
# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()
Kod Açıklama
- Aes () içindeki argüman dolgusu, çubuğun rengini değiştirmeye izin verir. Dolgu = x ekseni değişkenini ayarlayarak rengi değiştirebilirsiniz. Örneğinizde, x ekseni değişkeni cyl'dir; dolgu = faktör (sil)
Çıktı:
Çubuklara bir grup ekleyin
Y eksenini başka bir faktör seviyesine göre daha da bölebilirsiniz. Örneğin, silindir tipine göre otomatik ve manuel şanzıman sayısını sayabilirsiniz.
Aşağıdaki gibi ilerleyeceksiniz:
- Adım 1: Veri çerçevesini mtcars veri kümesiyle oluşturun
- Adım 2: Otomatik şanzıman için otomatik ve manüel şanzıman için am değişkenini etiketleyin. Ggplot () işlevinde faktör () kullanmanıza gerek kalmaması için am ve cyl'yi faktör olarak dönüştürün.
- Adım 3: Silindire göre iletim sayısını saymak için çubuk grafiği çizin
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))
Veri kümeniz hazır, grafiği çizebilirsiniz;
# Aşama 3
ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()
Kod Açıklama
- Ggpplot (), veri kümesi verilerini ve aes () 'yi içerir.
- Aes'de () değişken x ekseni ve çubuğu doldurmak için hangi değişkenin gerekli olduğunu (yani am) dahil edersiniz
- geom_bar (): Çubuk grafiği oluşturun
Çıktı:
Eşleme, çubuğu her seviye için bir tane olmak üzere iki renkle dolduracaktır. Veri kümesindeki diğer faktör değişkenlerini seçerek grubu değiştirmek zahmetsizdir.
Yüzde olarak çubuk grafik
Çubuğu ham sayım yerine yüzde olarak görselleştirebilirsiniz.
# Yüzde olarak çubuk grafik
ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()
Kod Açıklama
- Y ekseninde yüzdesi olan bir grafik oluşturmak için geom_bar () argümanında position = "fill" kullanın.
Çıktı:
Yan yana çubuklar
Grup değişkeni ile yan yana sütun grafiği çizmek kolaydır.
# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()
Kod Açıklama
- position = position_dodge (): Çubukların nasıl düzenleneceğini açıkça söyler
Çıktı:
Histogram
Çubuk grafik eğitiminin ikinci bölümünde, değişken grubunu y eksenindeki değerlerle temsil edebilirsiniz.
Amacınız, her bir silindir türü için galon başına ortalama mil ile bir grafik oluşturmaktır. Bilgilendirici bir grafik çizmek için şu adımları takip edeceksiniz:
- Adım 1: Silindire göre galon başına ortalama mil ile yeni bir değişken oluşturun
- Adım 2: Temel bir histogram oluşturun
- 3. Adım: Yönü değiştirin
- 4. Adım: Rengi değiştirin
- 5. Adım: Boyutu değiştirin
- 6. Adım: Grafiğe etiket ekleyin
Adım 1) Yeni bir değişken oluşturun
Sadece arabadaki silindir sayısına göre galon başına ortalama mili döndüren data_histogram adlı bir veri çerçevesi oluşturursunuz. Bu yeni değişkene mean_mpg diyorsunuz ve ortalamayı iki ondalık sayı ile yuvarlıyorsunuz.
# Aşama 1
data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))
Adım 2) Temel bir histogram oluşturun
Histogramı çizebilirsiniz. Müşteriye teslim edilmek üzere iletişim kurmaya hazır değil, ancak bize trend hakkında bir sezgi veriyor.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")
Kod Açıklama
- Aes () artık iki değişkene sahiptir. Cyl değişkeni x eksenini ifade eder ve ortalama_mpg y eksenidir.
- Y eksenindeki değişkeni sayısal bir değer olarak belirtmek için stat = "kimlik" bağımsız değişkenini iletmeniz gerekir. geom_bar, varsayılan değer olarak stat = "bin" kullanır.
Çıktı:
Adım 3) Yönü değiştirin
Grafiğin yönünü dikeyden yataya değiştirirsiniz.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()
Kod Açıklama
- Coord_flip () ile grafiğin yönünü kontrol edebilirsiniz.
Çıktı:
Adım 4) Rengi değiştirin
Çubukların renklerini x ekseni değişkeninin faktör düzeyine göre ayırt edebilirsiniz.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()
Kod Açıklama
- Dolgu = cyl eşlemesi ile grafiği gruplara göre çizebilirsiniz. R, sil değişkeninin seviyelerine göre renklerle otomatik olarak ilgilenir
Çıktı:
Adım 5) Boyutu değiştirin
Grafiğin daha güzel görünmesi için çubuğun genişliğini azaltırsınız.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()
Kod Açıklama
- Geom_bar () içindeki genişlik argümanı çubuğun boyutunu kontrol eder. Daha büyük değer genişliği artırır.
- Unutmayın, grafiği değişken grafiğe kaydedersiniz. Bunu yaparsınız çünkü sonraki adım değişken grafiğin kodunu değiştirmeyecektir. Kodun okunabilirliğini artırır.
Çıktı:
6. Adım) Grafiğe etiket ekleyin
Son adım, mean_mpg değişkeninin değerini etikete eklemekten oluşur.
graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()
Kod Açıklama
- Geom_text () işlevi, metnin estetiğini kontrol etmek için kullanışlıdır.
- label =: Çubukların içine bir etiket ekleyin
- mean_mpg: Etiket için mean_mpg değişkenini kullanın
- Sadece etiketin konumunu kontrol eder. 1'e kapatılan değerler, etiketi çubuğun üstünde görüntüler ve daha yüksek değerler etiketi en alta getirir. Grafiğin yönü dikey ise, hjust olarak değiştirin.
- color = "white": Metnin rengini değiştirin. Burada beyaz rengi kullanıyorsunuz.
- size = 3: Metnin boyutunu ayarlayın.
Çıktı:
Özet
X ekseni kategorik bir değişken olduğunda bir çubuk grafik kullanışlıdır. Y ekseni, bir sayım veya bir özet istatistik olabilir. Aşağıdaki tablo, çubuk grafiğin ggplot2 ile nasıl kontrol edileceğini özetler:
Amaç |
kodu |
---|---|
Miktar |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Farklı dolgu rengi ile sayın |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Gruplarla yığın halinde sayın |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Gruplarla yan yana sayın |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
% Olarak yığınlanmış gruplarla sayın |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Değerler |
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity") |