2016-07-14 18 views
5

ggplot çubuk grafik etiketleri üzerindeki ondalık basamakların sayısını nasıl belirleyebilirim?Etiket üzerinde onluk basamakların tam sayısını belirleme ggplot çubuk grafiği

veriler:

strefa <- c(1:13) 
a  <- c(3.453782,3.295082,3.137755,3.333333,3.500000,3.351351,3.458824,3.318681,3.694175,3.241379,3.138298,3.309524,3.380000) 
srednie <- data.frame(strefa,a) 

kodudur: Gördüğünüz gibi

ggplot(srednie, aes(x=factor(strefa), y=a, label=round(a, digits = 2))) + 
    geom_bar(position=position_dodge(), stat="identity", colour="darkgrey", width = 0.5) + 
    theme(legend.position="none",axis.text.x = element_blank(), axis.ticks.x = element_blank(), axis.ticks.y = element_blank()) + 
    geom_text(size = 4, hjust = 1.2) + 
    coord_flip(ylim = c(1,6))+ 
    xlab("") + 
    ylab("") 

, barlar üzerinde 5 ve 2 etiket başlıklı 1 ondalık basamağa sınırlıdır. 3.000000 veya 5.999999 olsa bile 2 ondalık basamak nasıl gösterilir? Böyle durumlarda 3.00 ve 6.00 göstermek istiyorum.

aes değiştirgesi label=round(a, digits = 2) kullanmayı denedim, ancak çalışmıyor.

cevap

10

İki basamağa yuvarlar ve onluktan sonra iki basamak basar olarak aşağıdakileri deneyebilirsiniz.

ggplot(srednie, aes(x=factor(strefa), y=a, label=sprintf("%0.2f", round(a, digits = 2)))) + 
    geom_bar(position=position_dodge(), stat="identity", colour="darkgrey", width = 0.5) + 
    theme(legend.position="none",axis.text.x = element_blank(), axis.ticks.x = element_blank(), axis.ticks.y = element_blank()) + 
    geom_text(size = 4, hjust = 1.2) + 
    coord_flip(ylim = c(1,6))+ 
    xlab("") + 
    ylab("") 

tek değişiklik

sprintf("%0.2f", round(a, digits = 2)) 
için

round(a, digits = 2) 

verdiği kodu değişiyordu

İlgili konular