Yanıtlar:
Kullanım:
+ scale_y_continuous(labels = scales::percent)
Veya yüzde için biçimlendirme parametrelerini belirtmek için:
+ scale_y_continuous(labels = scales::percent_format(accuracy = 1))
(komut labels = percent
, ggplot2'nin 2.2.1 sürümünden beri kullanılmamaktadır)
scales::percent(accuracy = 1)
, *_format()
sürümlerin bir işlev yaratmasıdır , çünkü percent()
tek başına ne yaratırsa, bu doğru mu?
Prensipte, herhangi bir yeniden biçimlendirme işlevini labels
parametreye aktarabilirsiniz :
+ scale_y_continuous(labels = function(x) paste0(x*100, "%")) # Multiply by 100 & add %
Veya
+ scale_y_continuous(labels = function(x) paste0(x, "%")) # Add percent sign
Tekrarlanabilir örnek:
library(ggplot2)
df = data.frame(x=seq(0,1,0.1), y=seq(0,1,0.1))
ggplot(df, aes(x,y)) +
geom_point() +
scale_y_continuous(labels = function(x) paste0(x*100, "%"))
ggplot2
ve scales
paketler bunu yapabilir:
y <- c(12, 20)/100
x <- c(1, 2)
library(ggplot2)
library(scales)
myplot <- qplot(as.factor(x), y, geom="bar")
myplot + scale_y_continuous(labels=percent)
stat()
Seçenek kaldırılmış gibi görünüyor ve hata mesajına neden oluyor. Bunu dene:
library(scales)
myplot <- ggplot(mtcars, aes(factor(cyl))) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels=percent)
myplot
Yukarıdaki @Deena'dan ödünç alındı, etiketler için bu işlev değişikliği düşündüğünüzden daha çok yönlüdür. Örneğin, sayılan değişkenlerin paydasının 140 olduğu bir ggplot'um vardı. Onun örneğini şu şekilde kullandım:
scale_y_continuous(labels = function(x) paste0(round(x/140*100,1), "%"), breaks = seq(0, 140, 35))
Bu, yüzdelerimi 140 payda üzerinden almamı sağladı ve ardından, varsayılan olarak ayarladığı garip sayılar yerine ölçeği% 25'lik artışlarla kırmama izin verdi. Buradaki anahtar nokta, ölçek aralarının hala yüzdeliklerinize göre değil orijinal sayıya göre ayarlanmasıdır. Bu nedenle, kesmeler sıfırdan payda değerine kadar olmalıdır, "kırılmalardaki" üçüncü bağımsız değişken, payda bölü istediğiniz birçok etiket kesmesine bölünür (ör. 140 * 0.25 = 35).
library(scales)
.