Ggplot2'den açıklamada metni sola hizalama


93

Örneğim:

qplot(mtcars$mpg) + 
  annotate(geom = "text", x = 30, y = 3, label = "Some text\nSome more text")

Buradaki metnin sola hizalı olmasını nasıl sağlayabilirim? Böylece 'Bazıları birbiriyle aynı hizada.

Yanıtlar:


147

hjust = 0ne istersen yapar. hjust yatay hizalama anlamına gelir , 0 sola dayalı, 0,5 ortalanacak ve 1 sağa dayalı olacaktır.

qplot(mtcars$mpg) +
    annotate(geom = "text", x = 30, y = 3,
             label = "Some text\nSome more text",
             hjust = 0)

vjustDikey hizalama için de bakınız .

İçinde ggplot2, bu bağımsız değişkenler metin tercihleri ​​her ayarlandığında mevcuttur. Onlar için çalışmak annotate, geom_textya içinde element_texttema seçenekleri ayarlarken.

Eğer bakarsanız ?geom_text:, metin dizesi seçenekleri bulabilirsiniz "left", "middle"ya da "right"(için, hjust), "top", "center", "bottom"için vjustve biri için "inward"ve "outward"hangi zaman doğru ya da dışarı merkezinden uzakta yer ayarlayacaktır.


Bu davranış, çok benzer basegibi grafik fonksiyonu, adjargüman partarafından kullanılan text(), mtext()ve title()yatay ve dikey justificatons uzunluk 2'nin vektörü olabilir,. Ayrıca hadjve padjbağımsız değişkenleri axis()gerekçeleri için saat ve orizontal s eksenine erpendicular.


Mükemmel cevap. @Gregor, bizi ggplot'un bunun gibi gizli parametreleriyle ilgili iyi bir makaleye bağlayabilir misiniz .. Ggplot referanslarının çoğu diyor ki ... Other arguments passed on to layer(). These are often aesthetics, used to set an aesthetic to a fixed value, like colour = "red" or size = 3. They may also be parameters to the paired geom/stat. ... ki bu pek yararlı değil.
Lazarus Thurston

@LazarusThurston Parametreler gizli değildir, ana geom sayfalarında ayrıntılı olarak belgelenmiştir. annotateherhangi bir geomu kullanmanıza izin verir, burada geom = "text"kullanıldı, böylece ?geom_textyardım sayfası ilgili ayrıntılara sahip olur. "Metin hizalamasını ve estetiğe göre değiştirebilirsiniz. Bunlar 0 (sağ / alt) ile 1 (üst / sol) arasında bir sayı veya bir karakter olabilir ..."?geom_textvjusthjust
Gregor Thomas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.