2016-04-14 20 views
3

Bu örnek verileri göz önünde bulundurun. r geometrik çubukların üstündeki değerleri ek açıklama

df <- data.frame(
    x = factor(c(1, 1, 2, 2)), 
    y = c(.1, .3, .2, .1), 
    grp = c("a", "b", "a", "b") 
) 

Şimdi ggplot kullanarak grafik oluşturmak ve nasıl tüm metin değerleri grafik penceresinin üst kısmında mükemmel yatay hizada olmasını belirtebilirim geom_text()

ggplot(data = df, aes(x, y, fill = grp, label = y)) + 
     geom_bar(stat = "identity", position = "dodge") + 
scale_y_continuous(limits=c(0,1)) + 
     geom_text(position = position_dodge(0.9)) 

kullanarak açıklama?

cevap

3

geom_text içinde aes(y=...) belirtin. Yani, grafik penceresinin üst kısmında numaralar için size

ggplot(data = df, aes(x, y, fill = grp, label = y)) + 
    geom_bar(stat = "identity", position = "dodge") + 
    geom_text(aes(y=Inf), position = position_dodge(0.9)) 

gerekecek Ve arsa alanı genişletmek için bir + ylim(0, 4) chuck isteyebilirsiniz.

ggplot(data = df, aes(x, y, fill = grp, label = y)) + 
    geom_bar(stat = "identity", position = "dodge") + 
    scale_y_continuous(limits=c(0,1)) + 
    geom_text(aes(y=0.9), position = position_dodge(0.9)) ## can specify any y=.. value 
+0

Mükemmel:


Düzenlenen soru eşleştirmek için! Sembollerin yarısını kaçıracağı için sonsuzluk istenmese de, y = 1 'i kullanabileceğimi düşündüğünüz bilgiden anladım. Teşekkürler! – FlyingDutch

+0

@MvZB Evet, 'y = anynumber' ayarlandı ve aynı şekilde çalışıyor :) – SymbolixAU

İlgili konular