Menu

R'de plot() Fonksiyonu: Türler, Renkler, pch ve Açıklamalar

R'nin plot() fonksiyonu nasıl çalışır - grafik türleri, başlıklar ve eksen etiketleri, renkler, nokta sembolleri (pch), lines() ve abline() ile katmanlama ve açıklamalar.

Bu sayfada çalıştırılabilir editörler var. Düzenle, çalıştır ve sonucu anında gör.

plot(), R'nin Her İşi Gören Grafik Fonksiyonudur

R'de grafik çizmek için aynı uzunlukta iki sayısal vektörle plot(x, y) çağırın. R her çift için bir nokta çizer - ilk vektör yatay eksende, ikincisi dikey eksende - ve eksenleri değişken adlarıyla otomatik etiketler:

x <- 1:12
y <- c(2, 5, 4, 8, 9, 12, 11, 15, 14, 18, 17, 21)

plot(x, y)

Sonuç, x büyüdükçe istikrarlı biçimde tırmanan on iki içi boş daireden oluşan bir saçılımdır. Giriş bedelinin tamamı budur: kurulacak paket yok, hazırlık yok. plot() temel R ile gelir ve hızlı, keşifsel grafiklerin çoğunun arkasındaki fonksiyondur.

Bu sayfadaki kod çalıştırıcısı yalnızca metin çıktısı gösterdiğinden, bu yazıdaki grafik çağrıları statik parçacıklardır - resimleri görmek için onları RStudio'ya ya da herhangi bir yerel R oturumuna yapıştırın. Burada çalıştırabileceğiniz şey veri hazırlığıdır. Zaten iyi bir alışkanlıktır: sayıları çizmeden önce onlara bakın.

Yalnızca bir vektör geçirirseniz plot(y), yatay eksen olarak 1, 2, 3, ... indeks konumlarını kullanır - bir ölçüm dizisine hızlıca göz atmak için kullanışlıdır.

Grafik Türünü Seçmek

type argümanı çiftlerin nasıl çizileceğine karar verir:

plot(x, y, type = "p")   # points (the default)
plot(x, y, type = "l")   # a connected line
plot(x, y, type = "b")   # both: points joined by line segments
plot(x, y, type = "h")   # vertical bars from zero, like a spike chart
plot(x, y, type = "s")   # a step function

type = "l", saçılımı bir çizgi grafiğine çevirir; zaman içinde ölçülen her şey için istediğiniz budur. type = "b", eğilimi göstermeye devam ederken tekil gözlemleri de görünür tutar. type = "h", sıfırdan her değere ince bir dikey parça çizer ve type = "s", her değeri bir sonrakine kadar koruyan bir merdiven çizer - fiyat ya da stok sayısı gibi sıçramalarla değişen nicelikler için kullanışlıdır.

Başlıklar, Etiketler ve Renkler

Etiketsiz bir grafik, kendinize yazdığınız özel bir nottur. Üç argüman bunu düzeltir: başlık için main, eksen etiketleri için xlab ve ylab. col rengi ayarlar:

plot(x, y,
     type = "b",
     main = "Monthly signups",
     xlab = "Month",
     ylab = "Signups (thousands)",
     col  = "steelblue")

col üç tür değer kabul eder:

  • İsimli renkler - "red", "steelblue", "tomato", "darkgreen". R bunlardan 657 tanesini bilir; hepsini listelemek için colors() çalıştırın.
  • Hex kodları - col = "#2C7FB8", tıpkı CSS'teki gibi.
  • Bir renk vektörü - nokta başına bir renk; noktaları gruba göre böyle renklendirirsiniz: group bir faktörken col = c("tomato", "steelblue")[group].

pch ile Nokta Sembolleri, cex ve lwd ile Boyutlar

İçi boş varsayılan daire keşif için uygundur ama başkalarına gösterdiğiniz her şeyde bulanıktır. pch (plotting character), 0'dan 25'e numaralandırılmış sembolü seçer:

plot(x, y, pch = 19)                     # solid circle - the usual choice
plot(x, y, pch = 17)                     # solid triangle
plot(x, y, pch = 21, col = "black",
     bg = "gold")                        # fillable circle: border + fill

Ezberlenmeye değer iki sayı var. pch = 19, tamamlanmış grafiklerin çoğunun kullandığı dolu dairedir. pch = 21 ile 25 arası doldurulabilir sembollerdir: col kenarlığı, bg içini renklendirir; böylece iki tonlu noktalar elde edersiniz.

Boyut ve çizgi stilinin kendi ayarları vardır:

  • cex nokta boyutunu ölçekler: cex = 1.5 noktaları bir buçuk kat büyütür.
  • lwd, type = "l" ya da "b" için çizgi kalınlığını ayarlar: lwd = 2 dolgun, okunabilir bir çizgidir.
  • lty çizgi desenini ayarlar: lty = 1 düz, 2 kesikli, 3 noktalı.

Katmanlama: points(), lines() ve abline()

plot() yeni bir grafik başlatır. Var olanın üzerine çizmek için yardımcılarını kullanın - bunlar mevcut grafiğin yerini almak yerine ona ekleme yapar:

plot(x, y, type = "l", lwd = 2, col = "steelblue",
     main = "Actual vs. target")

points(x, y, pch = 19, col = "steelblue")   # add the observations
lines(x, x * 1.5, lty = 2, col = "gray40")  # add a second series, dashed
abline(h = 10, col = "tomato")              # horizontal reference line at y = 10

abline() referans çizgisi aracıdır ve üç modu vardır:

  • abline(h = 10) - verilen bir dikey eksen değerinde yatay çizgi.
  • abline(v = 6) - verilen bir yatay eksen değerinde dikey çizgi.
  • abline(a = 0, b = 1.5) - a kesişimi ve b eğimiyle tanımlı bir çizgi.

En iyi numarası: ona uydurulmuş bir model geçirin, regresyon çizgisini sizin için çizer - abline(lm(y ~ x)). O tek satır bir saçılımı bir argümana dönüştürür; saçılım grafiği rehberi bunun üzerine inşa eder.

Uyulması gereken bir kural: eksen sınırları ilk plot() çağrısıyla sabitlenir. Katmanlanan bir seri bunların ötesine uzanırsa kırpılır - orijinal plot() çağrısında xlim = ve ylim = değerlerini eklemeyi planladığınız her şeye yetecek cömertlikte ayarlayın.

Açıklama Ekleme

Bir grafik birden fazla seri içerdiğinde bir açıklamaya ihtiyaç duyar. legend() ilk argüman olarak bir konum anahtar sözcüğü alır - "topright", "topleft", "bottomright", "bottomleft", "top", "bottom" ya da "center" (bunlar birebir R metinleridir, dolayısıyla kodunuzda İngilizce kalırlar) - sonra etiketler ve eşleşen stiller gelir:

legend("topright",
       legend = c("Actual", "Target"),
       col    = c("steelblue", "gray40"),
       lty    = c(1, 2),
       pch    = c(19, NA),
       lwd    = 2)

col, lty ve pch vektörleri legend ile girdi girdi hizalanmalıdır - ilk etiket ilk rengi alır, ve böyle devam eder. Bir seriye uygulanmayan bir stil için NA kullanın (burada hedef çizgisinin noktası yok). Anahtar sözcük kutuyu grafik bölgesinin bir köşesine sabitler; verinizin boş bıraktığı köşeyi seçin.

Çoklu Paneller ve Dosyaya Kaydetme

Tek bir şekilde birkaç grafik göstermek için çizmeden önce grafik ızgarasını ayarlayın: par(mfrow = c(1, 2)), aygıtı bir satır ve iki sütuna böler ve sonraki iki plot() çağrısı panelleri sırayla doldurur. İşiniz bittiğinde par(mfrow = c(1, 1)) ile sıfırlayın, yoksa sonraki grafikler minicik kalır.

Dosyaya kaydetme, çizimi ekran yerine bir dosya aygıtına yönlendirerek çalışır:

png("signups.png", width = 800, height = 600)

plot(x, y, type = "b", pch = 19, col = "steelblue",
     main = "Monthly signups", xlab = "Month", ylab = "Signups")

dev.off()

png() ile dev.off() arasındaki her şey dosyaya düşer; ekranda hiçbir şey görünmez. dev.off() unutmak klasik hatadır - aygıtı kapatana kadar dosya kilitli ve boş kalır. pdf(), jpeg() ve svg() aynı şekilde çalışır.

Buradan Ne Çıkarıyorsunuz

  • plot(x, y) anında çizer; type = noktalar ("p"), çizgiler ("l") ve ikisi ("b") arasında geçiş yapar.
  • main, xlab, ylab grafiği etiketler; col renk adlarını (colors() içinde 657 tanesi) ya da hex kodlarını alır.
  • pch = 19 dolu dairedir; pch = 21–25 kenarlığı (col) dolgudan (bg) ayırır; cex, lwd, lty boyut ve çizgi stilini denetler.
  • points(), lines() ve abline() var olan grafiğe katmanlanır - abline(lm(y ~ x)) tek çağrıda bir regresyon çizgisi ekler.
  • legend("topright", ...) serileri etiketler; png(...) + dev.off() dosyaya kaydeder.

Sırada: histogram - yeni bir veri kümesiyle tanışırken ilk uzanacağınız tek değişkenli grafik.

Sıkça Sorulan Sorular

R'de nasıl grafik çizilir?

Aynı uzunlukta iki sayısal vektörle plot(x, y) çağırın. R bir grafik penceresi açar ve her çift için bir nokta çizer. Çizgi grafiği için type = "l", başlıklar için main, xlab ve ylab, renk için col ekleyin.

R'de pch ne demektir?

pch (plotting character), 0'dan 25'e numaralandırılmış nokta sembolünü seçer. pch = 19, çoğu kişinin istediği dolu dairedir. 21'den 25'e semboller ayrı bir dolguya sahiptir: col kenarlığı, bg içini ayarlar.

R'de bir grafiğe nasıl açıklama eklenir?

Grafikten sonra legend() çağırın; ilk argüman olarak "topright" gibi bir konum anahtar sözcüğü, bir legend = etiket vektörü ve grafikte kullandığınız eşleşen col, pch ya da lty değerleriyle.

Bir R grafiği dosyaya nasıl kaydedilir?

Çizmeden önce bir dosya aygıtı açın ve sonrasında kapatın: png("myplot.png", width = 800, height = 600), sonra grafik kodunuz, sonra dev.off(). Ekranda hiçbir şey görünmez - grafik doğrudan dosyaya gider.

Coddy programlama dilleri çizimi

Coddy ile kodlamayı öğren

Başla